<?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>29217</bug_id>
          
          <creation_ts>2009-09-11 18:16:51 -0700</creation_ts>
          <short_desc>document.caretRangeFromPoint should take the scroll offset into account before hit testing</short_desc>
          <delta_ts>2009-09-14 11:21:17 -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>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>0</everconfirmed>
          <reporter name="Xiaomei Ji">xji</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>annevk</cc>
    
    <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>146851</commentid>
    <comment_count>0</comment_count>
      <attachid>39496</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-09-11 18:16:51 -0700</bug_when>
    <thetext>Created attachment 39496
caretRangeFromPointWithoutScroll.html

There are 3 issues:

1. I think the offset in the returned range should be the character/caret
offset relative to the whole element, not relative to the viewpoint.
Please see the attached file caretRangeFromPointWithoutScroll.html for detailed
explanation.

2. If I pass in event.clientX + document.body.scrollLeft and 
event.clientY + document.body.scrollTop as the x-axis and y-axis to
caretRangeFromPoint(), there is a possibility that the range is null which
should not. 
Please see attached file caretRangeFromPointWithScroll.html for detailed
explanation.

3. In caretRangeFromPoint(), there is the following code:

    Node* node = result.innerNode();
    if (!node)
        return 0;


Since we do not check whether the &apos;node&apos; is a Text related node, there is a
possibility that a range is created even when the mouse is not pointed in the
text area.

Please open caretRangeFromPointInNonTextNode.html,
click mouse right before the first word &quot;type&quot;, in the range created by
caretRangeFromPoint(), the node is the Text node, the start/end offset is 0. 

click mouse several characters ahead of word &quot;type&quot; (the empty space in the
left of &quot;type&quot;), although the &apos;node&apos; is a HTMLParagraphElement, but it has the
same visible position as the above, and the range created is the same as above.
Is this the correct behavior?

I think my assumption is that this function converts mouse position to the
character position within an element, so a null range should be returned if
click the empty spaces ahead of word &quot;type&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146852</commentid>
    <comment_count>1</comment_count>
      <attachid>39497</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-09-11 18:17:32 -0700</bug_when>
    <thetext>Created attachment 39497
caretRangeFromPointWithScroll.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146855</commentid>
    <comment_count>2</comment_count>
      <attachid>39498</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-09-11 18:18:55 -0700</bug_when>
    <thetext>Created attachment 39498
caretRangeFromPointInNonTextNode.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146904</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-12 01:06:04 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Created an attachment (id=39496) [details]
&gt; caretRangeFromPointWithoutScroll.html
&gt; 
&gt; There are 3 issues:

You should really file three bugs if you think there are three issues, one for each of these.  I am going to repurpose this bug to represent the first two, since I believe they represent the same issue, that we don&apos;t take the scroll offset into account before hit testing (which is the behavior of our elementFromPoint implementation, on which this API is modeled.  Our elementFromPoint seems to be /wrong/&apos; in this regard [bug 29219]).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146905</commentid>
    <comment_count>4</comment_count>
      <attachid>39507</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-12 01:10:04 -0700</bug_when>
    <thetext>Created attachment 39507
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146907</commentid>
    <comment_count>5</comment_count>
      <attachid>39507</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2009-09-12 01:13:52 -0700</bug_when>
    <thetext>Comment on attachment 39507
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146910</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2009-09-12 01:20:07 -0700</bug_when>
    <thetext>Fix landed in r48333.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>147123</commentid>
    <comment_count>7</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-09-14 11:21:17 -0700</bug_when>
    <thetext>Thanks for the fixing. Filed another 2 bugs representing issue #2 and #3:
https://bugs.webkit.org/show_bug.cgi?id=29247
https://bugs.webkit.org/show_bug.cgi?id=29249</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39496</attachid>
            <date>2009-09-11 18:16:51 -0700</date>
            <delta_ts>2009-09-11 18:16:51 -0700</delta_ts>
            <desc>caretRangeFromPointWithoutScroll.html</desc>
            <filename>caretRangeFromPoint.html</filename>
            <type>text/html</type>
            <size>2054</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">PEhUTUw+CjxIRUFEPgo8VElUTEU+ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpIE1ldGhv
ZDwvVElUTEU+CjxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPgpmdW5jdGlvbiBzaG93RWxl
bVVuZGVybmVhdGhXaXRob3V0U2Nyb2xsKCkgewogICAgZG9jdW1lbnQuYWxsLm15U3Bhbi5pbm5l
clRleHQgPSAiIjsKICAgIHZhciByYW5nZSA9ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludChl
dmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKTsKICAgIC8qIHRha2VzIGNhcmUgb2YgcGFnZSBz
Y3JvbGwKICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoCiAgICAg
ICAgZXZlbnQuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCwKICAgICAgICBldmVu
dC5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApOwogICAgKi8KICAgIHZhciBvZmZz
ZXQgPSAwOwogICAgaWYgKHJhbmdlKQogICAgICBvZmZzZXQgPSByYW5nZS5zdGFydE9mZnNldDsK
ICAgIGVsc2UgewogICAgICBhbGVydCgicmFuZ2UgaXMgbnVsbCIpOwogICAgICByZXR1cm47CiAg
ICB9CgogICAgdmFyIGNoaWxkID0gZXZlbnQudGFyZ2V0LmZpcnN0Q2hpbGQ7CiAgICByYW5nZSA9
IGNoaWxkLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKICAgIHJhbmdlLnNlbGVjdE5vZGUo
Y2hpbGQpOwogICAgdmFyIHN0ciA9IHJhbmdlLnRvU3RyaW5nKCk7CgogICAgZG9jdW1lbnQuYWxs
Lm15U3Bhbi5pbm5lclRleHQgPSAieDogIiArIGV2ZW50LmNsaWVudFggKyAiO3k6ICIgKyBldmVu
dC5jbGllbnRZICsgIjsgc3Rpcm5nOiAiICsgcmFuZ2UudG9TdHJpbmcoKSArICI7ICAgb2Zmc2V0
ID0gIiArIG9mZnNldDsKfQpkb2N1bWVudC5vbmNsaWNrID0gc2hvd0VsZW1VbmRlcm5lYXRoV2l0
aG91dFNjcm9sbDsKPC9TQ1JJUFQ+CjwvSEVBRD4KPEJPRFk+CjxIMSBJRD0iaGVhZGVyIj5kb2N1
bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KCkgTWV0aG9kPC9IMT4KPEhSPgo8UD5UaGlzIGlzIHRv
IHRlc3QgZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpIGluIGEgc2Nyb2xsZWQgcGFnZS4g
SSB0aGluayB0aGUgb2Zmc2V0IGluIHRoZSByZXR1cm5lZCByYW5nZSBzaG91bGQgYmUgdGhlIGNo
YXJhY3Rlci9jYXJldCBvZmZzZXQgaW4gdGhlIGVsZW1lbnQsIG5vdCByZWxhdGl2ZSB0byB0aGUg
dmlld3BvaW50LiAKPFA+SW4gYSB3aW5kb3cgbGFyZ2UgZW5vdWdoIHRvIGhvbGQgdGhlIHBhZ2Ug
d2l0aG91dCBhbnkgc2Nyb2xsLCBjbGljayBtb3VzZSBhZnRlciAiaSIgaW4gImlzIiBhdCB0aGUg
dmVyeSBiZWdpbm5pbmcsIHRoZSBvZmZzZXQgcHJpbnRlZCBzaG91bGQgYmUgIjYiLiAKPFA+Tm93
LCBwbGVhc2UgcmVzaXplIHRoZSB3aW5kb3cgdG8gbWFrZSB0aGUgcGFnZSBzY3JvbGwgaG9yaXpv
bnRhbGx5LiBUaGVuLCBzY3JvbGwgdGhlIHBhZ2Ugc28gdGhhdCAiaXMiIGJlY29tZXMgdGhlIGZp
cnN0IHZpc2libGUgd29yZC4gQ2xpY2sgdGhlIG1vdXNlIGFmdGVyICJpIiBpbiAiaXMiLCB0aGUg
b2Zmc2V0IHByaW50ZWQgaXMgIjEiLiBJcyB0aGlzIGNvcnJlY3Q/IAo8UD5Mb29rcyBsaWtlIGNh
cmV0UmFuZ2VGcm9tUG9pbnQoKSBpdHNlbGYgZG9lcyBub3QgdGFrZSBjYXJlIG9mIHBhZ2Ugc2Ny
b2xsLApUaGUgYWJvdmUgcHJvYmxlbSBjb3VsZCBiZSBzb2x2ZWQgYnkgCjxwcmU+CmRvY3VtZW50
LmNhcmV0UmFuZ2VGcm9tUG9pbnQoZXZlbnQuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xs
TGVmdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5jbGllbnRZICsgZG9jdW1l
bnQuYm9keS5zY3JvbGxUb3ApOwo8L3ByZT4KPFA+QnV0IHRoZXJlIGlzIGFub3RoZXIgcHJvYmxl
bSB3aXRoIHRoZSBhYm92ZSBjYWxsLiBQbGVhc2UgY2hlY2sKZXhhbXBsZXMgaW4gY2FyZXRSYW5n
ZUZyb21Qb2ludFdpdGhTY3JvbGwuaHRtbCAKPEJSPjxCUj5SZXN1bHQ6IDxTUEFOIElEPSJteVNw
YW4iIFNUWUxFPSJmb250LXdlaWdodDpib2xkIj48L1NQQU4+Ii48L1A+CjwvQk9EWT4KPC9IVE1M
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39497</attachid>
            <date>2009-09-11 18:17:32 -0700</date>
            <delta_ts>2009-09-11 18:17:32 -0700</delta_ts>
            <desc>caretRangeFromPointWithScroll.html</desc>
            <filename>caretRangeFromPointWithScroll.html</filename>
            <type>text/html</type>
            <size>1607</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">PEhUTUw+CjxIRUFEPgo8VElUTEU+ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpIE1ldGhv
ZDwvVElUTEU+CjxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPgpmdW5jdGlvbiBzaG93RWxl
bVVuZGVybmVhdGhXaXRob3V0U2Nyb2xsKCkgewogICAgZG9jdW1lbnQuYWxsLm15U3Bhbi5pbm5l
clRleHQgPSAiIjsKICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQo
CiAgICAgICAgZXZlbnQuY2xpZW50WCArIGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCwKICAgICAg
ICBldmVudC5jbGllbnRZICsgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3ApOwogICAgdmFyIG9mZnNl
dCA9IDA7CiAgICBpZiAocmFuZ2UpCiAgICAgIG9mZnNldCA9IHJhbmdlLnN0YXJ0T2Zmc2V0Owog
ICAgZWxzZSB7CiAgICAgIGFsZXJ0KCJyYW5nZSBpcyBudWxsIik7CiAgICAgIHJldHVybjsKICAg
IH0KCiAgICB2YXIgY2hpbGQgPSBldmVudC50YXJnZXQuZmlyc3RDaGlsZDsKICAgIHJhbmdlID0g
Y2hpbGQub3duZXJEb2N1bWVudC5jcmVhdGVSYW5nZSgpOwogICAgcmFuZ2Uuc2VsZWN0Tm9kZShj
aGlsZCk7CiAgICB2YXIgc3RyID0gcmFuZ2UudG9TdHJpbmcoKTsKCiAgICBkb2N1bWVudC5hbGwu
bXlTcGFuLmlubmVyVGV4dCA9ICJ4OiAiICsgZXZlbnQuY2xpZW50WCArICI7eTogIiArIGV2ZW50
LmNsaWVudFkgKyAiOyBzdGlybmc6ICIgKyByYW5nZS50b1N0cmluZygpICsgIjsgICBvZmZzZXQg
PSAiICsgb2Zmc2V0Owp9CmRvY3VtZW50Lm9uY2xpY2sgPSBzaG93RWxlbVVuZGVybmVhdGhXaXRo
b3V0U2Nyb2xsOwo8L1NDUklQVD4KPC9IRUFEPgo8Qk9EWT4KPEgxIElEPSJoZWFkZXIiPmRvY3Vt
ZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoKSBNZXRob2Q8L0gxPgo8SFI+CjxQIHN0eWxlPSJ3aGl0
ZS1zcGFjZTpub3dyYXAiPlRoaXMgaXMgdG8gdGVzdCBkb2N1bWVudC5jYXJldFJhbmdlRnJvbVBv
aW50KCkgaW4gYSBzY3JvbGxlZCBwYWdlLiBJIHRoaW5rIHRoZSBvZmZzZXQgaW4gdGhlIHJldHVy
bmVkIHJhbmdlIHNob3VsZCBiZSB0aGUgY2hhcmFjdGVyL2NhcmV0IG9mZnNldCBpbiB0aGUgZWxl
bWVudCwgbm90IHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9pbnQuIAo8UD5QbGVhc2UgcmVzaXplIHRo
ZSB3aW5kb3cgdG8gYmUgPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6cmVkIj52ZXJ5IG5h
cnJvdzwvc3Bhbj4gaG9yaXpvbnRhbGx5LiBUaGVuLCBzY3JvbGwgdGhlIHBhZ2UgdG8gdGhlIHZl
cnkgcmlnaHQuIENsaWNrIGFueXdoZXJlIGluIHRoZSBsYXN0IHdvcmQgInZpZXdwb2ludCIgaW4g
YWJvdmUgc2VudGVuY2UuIFlvdSB3aWxsIHNlZSAicmFuZ2UgaXMgbnVsbCIgYWxlcnQuICBXaGlj
aCBpcyBjYXVzZWQgYnkgdGhlIGZvbGxvd2luZyBjaGVjayBpbiBEb2N1bWVudC5jYXJldFJhbmdl
RnJvbVBvaW50KCkKPHByZT4KICAgIGlmICghZnJhbWVWaWV3LT5ib3VuZHNSZWN0KCkuY29udGFp
bnMocG9pbnQpKQogICAgICAgIHJldHVybiAwOwo8L3ByZT4KPEJSPjxCUj5SZXN1bHQ6IDxTUEFO
IElEPSJteVNwYW4iIFNUWUxFPSJmb250LXdlaWdodDpib2xkIj48L1NQQU4+Ii48L1A+CjwvQk9E
WT4KPC9IVE1MPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39498</attachid>
            <date>2009-09-11 18:18:55 -0700</date>
            <delta_ts>2009-09-12 01:17:25 -0700</delta_ts>
            <desc>caretRangeFromPointInNonTextNode.html</desc>
            <filename>nonTextNode.html</filename>
            <type>text/html</type>
            <size>1162</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">PEhUTUw+CjxIRUFEPgo8VElUTEU+ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpIE1ldGhv
ZDwvVElUTEU+CjxzdHlsZT4KLnRhYi1jb250ZW50IHttYXJnaW4tbGVmdDoxODBweDt0ZXh0LWFs
aWduOmNlbnRlcjt9Cgo8L3N0eWxlPgo8U0NSSVBUIExBTkdVQUdFPSJKYXZhU2NyaXB0Ij4KZnVu
Y3Rpb24gc2hvd0VsZW1VbmRlcm5lYXRoV2l0aG91dFNjcm9sbCgpIHsKICAgIGRvY3VtZW50LmFs
bC5teVNwYW4uaW5uZXJUZXh0ID0gIiI7CiAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jYXJldFJh
bmdlRnJvbVBvaW50KAogICAgICAgIGV2ZW50LmNsaWVudFggKyBkb2N1bWVudC5ib2R5LnNjcm9s
bExlZnQsCiAgICAgICAgZXZlbnQuY2xpZW50WSArIGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wKTsK
ICAgIHZhciBvZmZzZXQgPSAwOwogICAgaWYgKHJhbmdlKQogICAgICBvZmZzZXQgPSByYW5nZS5z
dGFydE9mZnNldDsKICAgIGVsc2UgewogICAgICBhbGVydCgicmFuZ2UgaXMgbnVsbCIpOwogICAg
ICByZXR1cm47CiAgICB9CgogICAgdmFyIGNoaWxkID0gZXZlbnQudGFyZ2V0LmZpcnN0Q2hpbGQ7
CiAgICByYW5nZSA9IGNoaWxkLm93bmVyRG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKICAgIHJhbmdl
LnNlbGVjdE5vZGUoY2hpbGQpOwogICAgdmFyIHN0ciA9IHJhbmdlLnRvU3RyaW5nKCk7CgogICAg
ZG9jdW1lbnQuYWxsLm15U3Bhbi5pbm5lclRleHQgPSAieDogIiArIGV2ZW50LmNsaWVudFggKyAi
O3k6ICIgKyBldmVudC5jbGllbnRZICsgIjsgc3RyaW5nOiAiICsgcmFuZ2UudG9TdHJpbmcoKSAr
ICI7ICAgb2Zmc2V0ID0gIiArIG9mZnNldDsKfQpkb2N1bWVudC5vbmNsaWNrID0gc2hvd0VsZW1V
bmRlcm5lYXRoV2l0aG91dFNjcm9sbDsKPC9TQ1JJUFQ+CjwvSEVBRD4KPEJPRFk+CjxIMSBJRD0i
aGVhZGVyIj5kb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KCkgTWV0aG9kPC9IMT4KPGRpdiBj
bGFzcz0idGFiLWNvbnRlbnQiPgogIDxwPnR5cGUgaW4gdGhlIGFkZHJlc3MgYmFyIGFuZCBnZXQg
c3VnZ2VzdGlvbnMgZm9yIGJvdGggc2VhcmNoIGFuZCB3ZWIgIHBhZ2VzPC9wPgo8QlI+PEJSPlJl
c3VsdDogPFNQQU4gSUQ9Im15U3BhbiIgU1RZTEU9ImZvbnQtd2VpZ2h0OmJvbGQiPjwvU1BBTj4i
LjwvUD4KPC9CT0RZPgo8L0hUTUw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39507</attachid>
            <date>2009-09-12 01:10:04 -0700</date>
            <delta_ts>2009-09-12 01:13:52 -0700</delta_ts>
            <desc>patch</desc>
            <filename>caret.diff</filename>
            <type>text/plain</type>
            <size>6254</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODMzMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMDktMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggZm9y
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTIxNworICAgICAgICBE
b2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50IHNob3VsZCB0YWtlIHRoZSBzY3JvbGwgb2Zmc2V0
IGludG8gYWNjb3VudCBiZWZvcmUgaGl0IHRlc3RpbmcKKworICAgICAgICBJbiBhY2NvcmRhbmNl
IHdpdGggdGhlIENTU09NIFZpZXcgTW9kdWxlIHNwZWMsIERvY3VtZW50LmNhcmV0UmFuZ2VGcm9t
UG9pbnQgc2hvdWxkIGludGVycHJldAorICAgICAgICB0aGUgcG9pbnQgcGFzc2VkIHRvIGl0IGFz
IHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCwgbm90IHRoZSBkb2N1bWVudC4KKworICAgICAgICBU
ZXN0OiBmYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRp
dmUtdG8tdmlld3BvcnQuaHRtbAorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjYXJldFJhbmdlRnJvbVBvaW50KToKKwogMjAwOS0wOS0x
MSAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgT2xpdmVyIEh1bnQuCkluZGV4OiBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA0ODMzMSkKKysrIFdlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTUzLDEzICs5NTMsMTMgQEAg
UGFzc1JlZlB0cjxSYW5nZT4gRG9jdW1lbnQ6OmNhcmV0UmFuZ2VGcgogICAgIEZyYW1lKiBmcmFt
ZSA9IHRoaXMtPmZyYW1lKCk7CiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuIDA7Ci0K
LSAgICBmbG9hdCB6b29tRmFjdG9yID0gZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCk7Ci0gICAgSW50
UG9pbnQgcG9pbnQgPSByb3VuZGVkSW50UG9pbnQoRmxvYXRQb2ludCh4ICogem9vbUZhY3Rvciwg
eSAqIHpvb21GYWN0b3IpKTsKLQogICAgIEZyYW1lVmlldyogZnJhbWVWaWV3ID0gZnJhbWUtPnZp
ZXcoKTsKICAgICBpZiAoIWZyYW1lVmlldykKICAgICAgICAgcmV0dXJuIDA7CisKKyAgICBmbG9h
dCB6b29tRmFjdG9yID0gZnJhbWUtPnBhZ2Vab29tRmFjdG9yKCk7CisgICAgSW50UG9pbnQgcG9p
bnQgPSByb3VuZGVkSW50UG9pbnQoRmxvYXRQb2ludCh4ICogem9vbUZhY3RvciwgeSAqIHpvb21G
YWN0b3IpKSArIHZpZXcoKS0+c2Nyb2xsT2Zmc2V0KCk7CisKICAgICBpZiAoIWZyYW1lVmlldy0+
Ym91bmRzUmVjdCgpLmNvbnRhaW5zKHBvaW50KSkKICAgICAgICAgcmV0dXJuIDA7CiAKSW5kZXg6
IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHJldmlzaW9uIDQ4MzMyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDktMTIgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjkyMTcKKyAg
ICAgICAgRG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCBzaG91bGQgdGFrZSB0aGUgc2Nyb2xs
IG9mZnNldCBpbnRvIGFjY291bnQgYmVmb3JlIGhpdCB0ZXN0aW5nCisKKyAgICAgICAgKiBmYXN0
L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRpdmUtdG8tdmll
d3BvcnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9Eb2N1bWVudC9D
YXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRpdmUtdG8tdmlld3BvcnQuaHRtbDogQWRk
ZWQuCisKIDIwMDktMDktMTEgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20v
RG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVu
dC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRpdmUtdG8tdmlld3BvcnQtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2Fy
ZXRSYW5nZUZyb21Qb2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNCBAQAorVGhpcyBib3ggaXMgaGVyZSB0byBjcmVh
dGUgc2Nyb2xsYmFycy4KK1Rlc3Rpbmcgd2l0aCBubyBzY3JvbGwKK1BBU1M6IHJhbmdlLnN0YXJ0
Q29udGFpbmVyID09IGVsZW1lbnQuZmlyc3RDaGlsZC4KK1BBU1M6IHJhbmdlLnN0YXJ0T2Zmc2V0
ID09IDAuCitUZXN0IHNjcm9sbGluZyBkb3duCitQQVNTOiByYW5nZS5zdGFydENvbnRhaW5lciA9
PSBlbGVtZW50LmZpcnN0Q2hpbGQuCitQQVNTOiByYW5nZS5zdGFydE9mZnNldCA9PSAxMi4KK1Rl
c3Qgc2Nyb2xsaW5nIHJpZ2h0CitQQVNTOiByYW5nZS5zdGFydENvbnRhaW5lciA9PSBlbGVtZW50
LmZpcnN0Q2hpbGQuCitQQVNTOiByYW5nZS5zdGFydE9mZnNldCA9PSAyLgorVGVzdCBzY3JvbGxp
bmcgZG93biBhbmQgcmlnaHQKK1BBU1M6IHJhbmdlLnN0YXJ0Q29udGFpbmVyID09IGVsZW1lbnQu
Zmlyc3RDaGlsZC4KK1BBU1M6IHJhbmdlLnN0YXJ0T2Zmc2V0ID09IDE0LgorCkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVs
YXRpdmUtdG8tdmlld3BvcnQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9Eb2N1bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRpdmUtdG8tdmlld3Bv
cnQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0Nh
cmV0UmFuZ2VGcm9tUG9pbnQvaGl0dGVzdC1yZWxhdGl2ZS10by12aWV3cG9ydC5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDg3IEBACis8aHRtbD4KKzxoZWFkPgorICAgIDxzdHlsZT4KKyAg
ICAgICAgI3Rlc3QgeworICAgICAgICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgZm9u
dC1mYW1pbHk6ICJBaGVtIjsKKyAgICAgICAgfQorICAgICAgICAjcHVzaGVyIHsKKyAgICAgICAg
ICAgIHdpZHRoOiAxMDAwcHg7CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsKKyAgICAgICAg
ICAgIG91dGxpbmU6IDFweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgIDwvc3R5bGU+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICB2
YXIgX2xvZyA9ICIiOworICAgICAgICBmdW5jdGlvbiBsb2cobXNnKQorICAgICAgICB7CisgICAg
ICAgICAgICBfbG9nICs9IG1zZyArICJcbiI7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlv
biBzd2FwSW5Mb2coKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Jyk7CisgICAgICAgICAgICB2YXIgcGFyZW50ID0gZWxl
bWVudC5wYXJlbnROb2RlOworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQoZWxlbWVudCk7CisgICAg
ICAgICAgICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInByZSIpOworICAg
ICAgICAgICAgY29uc29sZS50ZXh0Q29udGVudCA9IF9sb2c7CisgICAgICAgICAgICBwYXJlbnQu
YXBwZW5kQ2hpbGQoY29uc29sZSk7CisgICAgICAgIH0KKworICAgICAgICB2YXIgZWxlbWVudDsK
KworICAgICAgICBmdW5jdGlvbiB0ZXN0KHBvcywgX19leHBlY3RlZENvbnRhaW5lciwgX19leHBl
Y3RlZE9mZnNldCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIGV4cGVjdGVkQ29udGFpbmVy
ID0gZXZhbChfX2V4cGVjdGVkQ29udGFpbmVyKTsKKyAgICAgICAgICAgIHZhciBleHBlY3RlZE9m
ZnNldCA9IGV2YWwoX19leHBlY3RlZE9mZnNldCk7CisKKyAgICAgICAgICAgIHZhciByYW5nZSA9
IGRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQocG9zLngsIHBvcy55KTsKKworICAgICAgICAg
ICAgaWYgKHJhbmdlLnN0YXJ0Q29udGFpbmVyID09IGV4cGVjdGVkQ29udGFpbmVyKSB7CisgICAg
ICAgICAgICAgICAgbG9nKCJQQVNTOiByYW5nZS5zdGFydENvbnRhaW5lciA9PSAiICsgX19leHBl
Y3RlZENvbnRhaW5lciArICIuIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIGxvZygiRkFJTDogcmFuZ2Uuc3RhcnRDb250YWluZXIgPT0gIiArIHJhbmdlLnN0YXJ0Q29u
dGFpbmVyICsgIi4iKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHJhbmdlLnN0
YXJ0T2Zmc2V0ID09IGV4cGVjdGVkT2Zmc2V0KSB7CisgICAgICAgICAgICAgICAgbG9nKCJQQVNT
OiByYW5nZS5zdGFydE9mZnNldCA9PSAiICsgX19leHBlY3RlZE9mZnNldCArICIuIik7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGxvZygiRkFJTDogcmFuZ2Uuc3RhcnRP
ZmZzZXQgPT0gIiArIHJhbmdlLnN0YXJ0T2Zmc2V0ICsgIi4iKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorCisgICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCisgICAgICAgIHsK
KyAgICAgICAgICAgIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcpOwor
ICAgICAgICAgICAgdGV4dCA9IGVsZW1lbnQuZmlyc3RDaGlsZDsKKworICAgICAgICAgICAgdmFy
IHBvc2l0aW9uVG9UZXN0ID0geyB4OiAxNSwgeTogMTUgfTsKKworICAgICAgICAgICAgbG9nKCJU
ZXN0aW5nIHdpdGggbm8gc2Nyb2xsIik7CisgICAgICAgICAgICB0ZXN0KHBvc2l0aW9uVG9UZXN0
LCAiZWxlbWVudC5maXJzdENoaWxkIiwgIjAiKTsKKworICAgICAgICAgICAgbG9nKCJUZXN0IHNj
cm9sbGluZyBkb3duIik7CisgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMjUpOworICAg
ICAgICAgICAgdGVzdChwb3NpdGlvblRvVGVzdCwgImVsZW1lbnQuZmlyc3RDaGlsZCIsICIxMiIp
OworCisgICAgICAgICAgICBsb2coIlRlc3Qgc2Nyb2xsaW5nIHJpZ2h0Iik7CisgICAgICAgICAg
ICB3aW5kb3cuc2Nyb2xsVG8oMjUsIDApOworICAgICAgICAgICAgdGVzdChwb3NpdGlvblRvVGVz
dCwgImVsZW1lbnQuZmlyc3RDaGlsZCIsICIyIik7CisKKyAgICAgICAgICAgIGxvZygiVGVzdCBz
Y3JvbGxpbmcgZG93biBhbmQgcmlnaHQiKTsKKyAgICAgICAgICAgIHdpbmRvdy5zY3JvbGxUbygy
NSwgMjUpOworICAgICAgICAgICAgdGVzdChwb3NpdGlvblRvVGVzdCwgImVsZW1lbnQuZmlyc3RD
aGlsZCIsICIxNCIpOworCisgICAgICAgICAgICBzd2FwSW5Mb2coKTsKKyAgICAgICAgfQorICAg
IDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0ZXN0Ij54eHh4eCB4eHh4eCB4
eHh4eCB4eHh4eDwvZGl2PgorPGRpdiBpZD0icHVzaGVyIj5UaGlzIGJveCBpcyBoZXJlIHRvIGNy
ZWF0ZSBzY3JvbGxiYXJzLjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="20605"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>