<?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>30034</bug_id>
          
          <creation_ts>2009-10-02 16:25:37 -0700</creation_ts>
          <short_desc>caretRangeFromPoint() returns wrong result for a zoomed and scrolled page</short_desc>
          <delta_ts>2009-10-12 21:59:48 -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>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>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>jshin</cc>
    
    <cc>mjs</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>xji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>152018</commentid>
    <comment_count>0</comment_count>
      <attachid>40556</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-10-02 16:25:37 -0700</bug_when>
    <thetext>Created attachment 40556
test case

Steps:
1. Open the attached HTML
2. click mouse somewhere to show the offset of mouse within the element
3. zoom the page *and* resize the window to make the page scroll
4. scroll the page horizontally and/or vertically, 
5. click mouse in the same place as step 2., observe the printed offset.

Results:
the printd offset is different when page is zoomed and scrolled.

Expected:
the printed offset should be the same.

Problem: in Document.caretRangeFromPoint()

    IntPoint point = roundedIntPoint(FloatPoint(x * zoomFactor, y * zoomFactor)) + view()-&gt;scrollOffset();

    should be:

    IntPoint point = roundedIntPoint(FloatPoint((x + view()-&gt;scrollX()) * zoomFactor, (y + view()-&gt;scrollY()) * zoomFactor));


Note:
Same bug applies to elementFromPoint() as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153097</commentid>
    <comment_count>1</comment_count>
      <attachid>40802</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2009-10-07 10:08:20 -0700</bug_when>
    <thetext>Created attachment 40802
patch w/ layout test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153147</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-07 12:06:59 -0700</bug_when>
    <thetext>Sam&apos;s your best bet.  Why don&apos;t we have a zoomAndPanTransform() accessor on the document and just map points through that.  It seems using TransformationMatrix and IntPoint would make this code (which we have lots of) much less error prone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154235</commentid>
    <comment_count>3</comment_count>
      <attachid>40802</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-12 19:06:31 -0700</bug_when>
    <thetext>Comment on attachment 40802
patch w/ layout test

Rejecting patch 40802 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11423 test cases.
fast/dom/prototype-inheritance-2.html -&gt; failed

Exiting early after 1 failures. 5497 tests run.
253.83s total testing time

5496 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
1 test case (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154236</commentid>
    <comment_count>4</comment_count>
      <attachid>40802</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-12 19:11:58 -0700</bug_when>
    <thetext>Comment on attachment 40802
patch w/ layout test

Sorry.  The bots were behind.  bug 30098.  This is a false rejection.  Trying again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154257</commentid>
    <comment_count>5</comment_count>
      <attachid>40802</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-12 21:59:44 -0700</bug_when>
    <thetext>Comment on attachment 40802
patch w/ layout test

Clearing flags on attachment: 40802

Committed r49490: &lt;http://trac.webkit.org/changeset/49490&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154258</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-12 21:59:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>40556</attachid>
            <date>2009-10-02 16:25:37 -0700</date>
            <delta_ts>2009-10-02 16:25:37 -0700</delta_ts>
            <desc>test case</desc>
            <filename>caretZoomScroll.html</filename>
            <type>text/html</type>
            <size>1411</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">PEhUTUw+CjxIRUFEPgo8VElUTEU+ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludCgpIE1ldGhv
ZDwvVElUTEU+CjxTQ1JJUFQgTEFOR1VBR0U9IkphdmFTY3JpcHQiPgpmdW5jdGlvbiBzaG93RWxl
bVVuZGVybmVhdGhXaXRob3V0U2Nyb2xsKCkgewogICAgZG9jdW1lbnQuYWxsLm15U3Bhbi5pbm5l
clRleHQgPSAiIjsKICAgIHZhciByYW5nZSA9ZG9jdW1lbnQuY2FyZXRSYW5nZUZyb21Qb2ludChl
dmVudC5jbGllbnRYLCBldmVudC5jbGllbnRZKTsKICAgIHZhciBvZmZzZXQgPSAwOwogICAgaWYg
KHJhbmdlKQogICAgICBvZmZzZXQgPSByYW5nZS5zdGFydE9mZnNldDsKICAgIGVsc2UgewogICAg
ICBhbGVydCgicmFuZ2UgaXMgbnVsbCIpOwogICAgICByZXR1cm47CiAgICB9CgogICAgdmFyIGNo
aWxkID0gZXZlbnQudGFyZ2V0LmZpcnN0Q2hpbGQ7CiAgICByYW5nZSA9IGNoaWxkLm93bmVyRG9j
dW1lbnQuY3JlYXRlUmFuZ2UoKTsKICAgIHJhbmdlLnNlbGVjdE5vZGUoY2hpbGQpOwogICAgdmFy
IHN0ciA9IHJhbmdlLnRvU3RyaW5nKCk7CgogICAgZG9jdW1lbnQuYWxsLm15U3Bhbi5pbm5lclRl
eHQgPSAieDogIiArIGV2ZW50LmNsaWVudFggKyAiO3k6ICIgKyBldmVudC5jbGllbnRZICsgIjsg
c3Rpcm5nOiAiICsgcmFuZ2UudG9TdHJpbmcoKSArICI7ICAgb2Zmc2V0ID0gIiArIG9mZnNldDsK
fQpkb2N1bWVudC5vbmNsaWNrID0gc2hvd0VsZW1VbmRlcm5lYXRoV2l0aG91dFNjcm9sbDsKPC9T
Q1JJUFQ+CjwvSEVBRD4KPEJPRFk+CjxIMSBJRD0iaGVhZGVyIj5kb2N1bWVudC5jYXJldFJhbmdl
RnJvbVBvaW50KCkgTWV0aG9kPC9IMT4KPEhSPgo8UD5UaGlzIGlzIHRvIHRlc3QgZG9jdW1lbnQu
Y2FyZXRSYW5nZUZyb21Qb2ludCgpIGluIGEgem9vbSBhbmQgc2Nyb2xsZWQgcGFnZS4gVGhlIHBv
aW50IGNhbGN1bGF0aW9uIGluIGNhcmV0UmFuZ2VGcm9tUG9pbnQoKSBpcyB3cm9uZyBpbiBhIHpv
b20gYW5kIHNjcm9sbGVkIHBhZ2UuIFNhbWUgYXBwbGllcyB0byBlbGVtZW50RnJvbVBvaW50KCku
IAo8UD5JbiBhIHdpbmRvdyBsYXJnZSBlbm91Z2ggdG8gaG9sZCB0aGUgcGFnZSB3aXRob3V0IGFu
eSBzY3JvbGwsIGNsaWNrIG1vdXNlIGFmdGVyICJTIiBpbiAiU2FtZSIgYXQgdGhlIGFib3ZlIHNl
bnRlbmNlLCBvYnNlcnZlIHRoZSBwcmludGVkIG9mZnNldC4KPFA+Tm93LCBwbGVhc2UgcmVzaXpl
IHRoZSB3aW5kb3cgdG8gbWFrZSB0aGUgcGFnZSBzY3JvbGwuIFRoZW4sIHNjcm9sbCB0aGUgcGFn
ZS4gQ2xpY2sgdGhlIG1vdXNlIGFmdGVyICJTIiBpbiAiU2FtZSIsIG9ic2VydmUgdGhlIHByaW50
ZWQgb2Zmc2V0Lgo8QlI+PEJSPlJlc3VsdDogPFNQQU4gSUQ9Im15U3BhbiIgU1RZTEU9ImZvbnQt
d2VpZ2h0OmJvbGQiPjwvU1BBTj4iLjwvUD4KPC9CT0RZPgo8L0hUTUw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40802</attachid>
            <date>2009-10-07 10:08:20 -0700</date>
            <delta_ts>2009-10-12 21:59:43 -0700</delta_ts>
            <desc>patch w/ layout test</desc>
            <filename>30034.v1</filename>
            <type>text/plain</type>
            <size>9510</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTI0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMDktMTAtMDcgIFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBp
c3N1ZSBjYXJldFJhbmdlRnJvbVBvaW50KCkgcmV0dXJucyB3cm9uZyByZXN1bHQgZm9yIGEgem9v
bWVkIGFuZCAKKyAgICAgICAgc2Nyb2xsZWQgcGFnZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwMDM0CisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmVsZW1lbnRGcm9tUG9pbnQpOiBjYWxj
dWxhdGUgdGhlIGNvcnJlY3QgcG9pbnQgCisgICAgICAgIHJlbGF0aXZlIHRvIGRvY3VtZW50IHdo
ZW4gdGhlIHBhZ2UgaXMgem9vbWVkIGFuZCBzY3JvbGxlZC4KKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpjYXJldFJhbmdlRnJvbVBvaW50KTogY2FsY3VsYXRlIHRoZSBjb3JyZWN0IHBvaW50
IAorICAgICAgICByZWxhdGl2ZSB0byBkb2N1bWVudCB3aGVuIHRoZSBwYWdlIGlzIHpvb21lZCBh
bmQgc2Nyb2xsZWQuCisKIDIwMDktMTAtMDcgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCB0eXBvIGluIFBsdWdpblZpZXc6OmxvYWQgdGhhdCB3YXMgY2F1c2lu
ZyBjcm9zcy1vcmlnaW4gbG9hZHMgdG8KSW5kZXg6IFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDQ5MTk1KQor
KysgV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDMsNyArOTQz
LDcgQEAgRWxlbWVudCogRG9jdW1lbnQ6OmVsZW1lbnRGcm9tUG9pbnQoaW50IAogICAgICAgICBy
ZXR1cm4gMDsKIAogICAgIGZsb2F0IHpvb21GYWN0b3IgPSBmcmFtZS0+cGFnZVpvb21GYWN0b3Io
KTsKLSAgICBJbnRQb2ludCBwb2ludCA9IHJvdW5kZWRJbnRQb2ludChGbG9hdFBvaW50KHggKiB6
b29tRmFjdG9yLCB5ICogem9vbUZhY3RvcikpICsgdmlldygpLT5zY3JvbGxPZmZzZXQoKTsKKyAg
ICBJbnRQb2ludCBwb2ludCA9IHJvdW5kZWRJbnRQb2ludChGbG9hdFBvaW50KCh4ICsgdmlldygp
LT5zY3JvbGxYKCkpICogem9vbUZhY3RvciwgKHkgKyB2aWV3KCktPnNjcm9sbFkoKSkgKiB6b29t
RmFjdG9yKSk7CiAKICAgICBpZiAoIWZyYW1lVmlldy0+dmlzaWJsZUNvbnRlbnRSZWN0KCkuY29u
dGFpbnMocG9pbnQpKQogICAgICAgICByZXR1cm4gMDsKQEAgLTk3Myw3ICs5NzMsNyBAQCBQYXNz
UmVmUHRyPFJhbmdlPiBEb2N1bWVudDo6Y2FyZXRSYW5nZUZyCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgZmxvYXQgem9vbUZhY3RvciA9IGZyYW1lLT5wYWdlWm9vbUZhY3RvcigpOwotICAgIElu
dFBvaW50IHBvaW50ID0gcm91bmRlZEludFBvaW50KEZsb2F0UG9pbnQoeCAqIHpvb21GYWN0b3Is
IHkgKiB6b29tRmFjdG9yKSkgKyB2aWV3KCktPnNjcm9sbE9mZnNldCgpOworICAgIEludFBvaW50
IHBvaW50ID0gcm91bmRlZEludFBvaW50KEZsb2F0UG9pbnQoKHggKyB2aWV3KCktPnNjcm9sbFgo
KSkgKiB6b29tRmFjdG9yLCAoeSArIHZpZXcoKS0+c2Nyb2xsWSgpKSAqIHpvb21GYWN0b3IpKTsK
IAogICAgIGlmICghZnJhbWVWaWV3LT52aXNpYmxlQ29udGVudFJlY3QoKS5jb250YWlucyhwb2lu
dCkpCiAgICAgICAgIHJldHVybiAwOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDkyNDYpCisrKyBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0x
MC0wNyAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGlzc3VlIGNhcmV0UmFuZ2VGcm9tUG9p
bnQoKSByZXR1cm5zIHdyb25nIHJlc3VsdCBmb3IgYSB6b29tZWQgYW5kIAorICAgICAgICBzY3Jv
bGxlZCBwYWdlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MzAwMzQKKworICAgICAgICAqIGZhc3QvZG9tL0RvY3VtZW50L0NhcmV0UmFuZ2VGcm9tUG9p
bnQvaGl0dGVzdC1yZWxhdGl2ZS10by12aWV3cG9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRv
LXZpZXdwb3J0Lmh0bWw6CisgICAgICAgICogZmFzdC9kb20vZWxlbWVudEZyb21Qb2ludC1yZWxh
dGl2ZS10by12aWV3cG9ydC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vZWxlbWVu
dEZyb21Qb2ludC1yZWxhdGl2ZS10by12aWV3cG9ydC5odG1sOgorCiAyMDA5LTEwLTA3ICBYYW4g
TG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBTa2lwIHR3byBuZXcgdGVzdHMg
Zm9yIHdoaWNoIHdlIGFyZSBtaXNzaW5nIHJlc3VsdHMuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9lbGVtZW50RnJvbVBvaW50LXJlbGF0aXZlLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50RnJvbVBvaW50LXJlbGF0
aXZlLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDkxOTUpCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9lbGVtZW50RnJvbVBvaW50LXJlbGF0aXZlLXRvLXZpZXdwb3J0LWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCwxMyArNCwxNyBAQCBPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFTUyB1bnNjcm9sbGVkQm94SW5pdGlhbCBp
cyAnMCcKLVBBU1Mgc2Nyb2xsZWREb3duQm94SW5pdGlhbCBpcyAnMTUnCitQQVNTIHNjcm9sbGVk
RG93bkJveEluaXRpYWwgaXMgJzUnCiBQQVNTIHNjcm9sbGVkUmlnaHRCb3hJbml0aWFsIGlzICcz
JwotUEFTUyBzY3JvbGxlZERvd25BbmRSaWdodEJveEluaXRpYWwgaXMgJzE4JworUEFTUyBzY3Jv
bGxlZERvd25BbmRSaWdodEJveEluaXRpYWwgaXMgJzgnCiBQQVNTIHVuc2Nyb2xsZWRCb3hPZmZz
Y3JlZW4gaXMgJzAnCi1QQVNTIHNjcm9sbGVkRG93bkJveE9mZnNjcmVlbiBpcyAnMTUnCitQQVNT
IHNjcm9sbGVkRG93bkJveE9mZnNjcmVlbiBpcyAnNScKIFBBU1Mgc2Nyb2xsZWRSaWdodEJveE9m
ZnNjcmVlbiBpcyAnMycKLVBBU1Mgc2Nyb2xsZWREb3duQW5kUmlnaHRCb3hPZmZzY3JlZW4gaXMg
JzE4JworUEFTUyBzY3JvbGxlZERvd25BbmRSaWdodEJveE9mZnNjcmVlbiBpcyAnOCcKK1BBU1Mg
dW5zY3JvbGxlZEJveEluaXRpYWwgaXMgJzAnCitQQVNTIHNjcm9sbGVkRG93bkJveEluaXRpYWwg
aXMgJzUnCitQQVNTIHNjcm9sbGVkUmlnaHRCb3hJbml0aWFsIGlzICcyJworUEFTUyBzY3JvbGxl
ZERvd25BbmRSaWdodEJveEluaXRpYWwgaXMgJzcnCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL2VsZW1l
bnRGcm9tUG9pbnQtcmVsYXRpdmUtdG8tdmlld3BvcnQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9lbGVtZW50RnJvbVBvaW50LXJlbGF0aXZlLXRvLXZpZXdwb3J0Lmh0
bWwJKHJldmlzaW9uIDQ5MTk1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vZWxlbWVudEZyb21Q
b2ludC1yZWxhdGl2ZS10by12aWV3cG9ydC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICsz
OSw3IEBACiAKICAgICBkZXNjcmlwdGlvbignVGhpcyB0ZXN0IGRvY3VtZW50LmVsZW1lbnRGcm9t
UG9pbnQgaXMgZXZhbHVhdGVkIGluIHdpdGggcmVzcGVjdCB0byB0aGUgdmlld3BvcnQsIG5vdCB0
aGUgZG9jdW1lbnQuJyk7CiAKLSAgICBmdW5jdGlvbiB0ZXN0RWxlbWVudChlbGVtZW50LCBsYWJl
bCwgb2Zmc2V0WCwgb2Zmc2V0WSkgeworICAgIGZ1bmN0aW9uIHRlc3RFbGVtZW50KGVsZW1lbnQs
IGxhYmVsLCBvZmZzZXRYLCBvZmZzZXRZLCB6b29tT3JOb3QpIHsKICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCAyNTsgKytpKSB7CiAgICAgICAgICAgICB2YXIgaXRlbSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICAgaXRlbS5jbGFzc05hbWUgPSAidGVzdEl0
ZW0iOwpAQCAtNzEsMjUgKzcxLDM0IEBACiAgICAgICAgIHdpbmRvd1t1bnNjcm9sbGVkQm94XSA9
IGdldEZyb21Qb2ludCgwLCAwKTsKIAogICAgICAgICAvLyBUZXN0IHNjcm9sbGluZyBkb3duCi0g
ICAgICAgIHdpbmRvd1tzY3JvbGxlZERvd25Cb3hdID0gZ2V0RnJvbVBvaW50KDAsIDUwKTsKKyAg
ICAgICAgd2luZG93W3Njcm9sbGVkRG93bkJveF0gPSBnZXRGcm9tUG9pbnQoMCwgMjApOwogCiAg
ICAgICAgIC8vIFRlc3Qgc2Nyb2xsaW5nIHJpZ2h0CiAgICAgICAgIHdpbmRvd1tzY3JvbGxlZFJp
Z2h0Qm94XSA9IGdldEZyb21Qb2ludCg1MCwgMCk7CiAKICAgICAgICAgLy8gVGVzdCBzY3JvbGxp
bmcgZG93biBhbmQgcmlnaHQKLSAgICAgICAgd2luZG93W3Njcm9sbGVkRG93bkFuZFJpZ2h0Qm94
XSA9IGdldEZyb21Qb2ludCg1MCwgNTApOworICAgICAgICB3aW5kb3dbc2Nyb2xsZWREb3duQW5k
UmlnaHRCb3hdID0gZ2V0RnJvbVBvaW50KDUwLCAyMCk7CiAKICAgICAgICAgc2hvdWxkQmUodW5z
Y3JvbGxlZEJveCwgIicwJyIpOwotICAgICAgICBzaG91bGRCZShzY3JvbGxlZERvd25Cb3gsICIn
MTUnIik7Ci0gICAgICAgIHNob3VsZEJlKHNjcm9sbGVkUmlnaHRCb3gsICInMyciKTsKLSAgICAg
ICAgc2hvdWxkQmUoc2Nyb2xsZWREb3duQW5kUmlnaHRCb3gsICInMTgnIik7CisgICAgICAgIHNo
b3VsZEJlKHNjcm9sbGVkRG93bkJveCwgIic1JyIpOworICAgICAgICBpZiAoem9vbU9yTm90ID09
ICJ6b29tIikgeworICAgICAgICAgICAgc2hvdWxkQmUoc2Nyb2xsZWRSaWdodEJveCwgIicyJyIp
OworICAgICAgICAgICAgc2hvdWxkQmUoc2Nyb2xsZWREb3duQW5kUmlnaHRCb3gsICInNyciKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlKHNjcm9sbGVkUmlnaHRCb3gs
ICInMyciKTsKKyAgICAgICAgICAgIHNob3VsZEJlKHNjcm9sbGVkRG93bkFuZFJpZ2h0Qm94LCAi
JzgnIik7CisgICAgICAgIH0KICAgICB9CiAKICAgICB2YXIgZWxlbWVudEluaXRpYWwgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1pbml0aWFsJyk7CiAgICAgdmFyIGVsZW1lbnRPZmZz
Y3JlZW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1vZmZzY3JlZW4nKTsKICAgICB2
YXIgb2Zmc2V0ID0gZWxlbWVudEluaXRpYWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAg
dGVzdEVsZW1lbnQoZWxlbWVudEluaXRpYWwsICJJbml0aWFsIiwgb2Zmc2V0LmxlZnQsIG9mZnNl
dC50b3ApOwotICAgIHRlc3RFbGVtZW50KGVsZW1lbnRPZmZzY3JlZW4sICJPZmZzY3JlZW4iLCBv
ZmZzZXQubGVmdCwgb2Zmc2V0LnRvcCArIDExMDApOworICAgIHRlc3RFbGVtZW50KGVsZW1lbnRJ
bml0aWFsLCAiSW5pdGlhbCIsIG9mZnNldC5sZWZ0LCBvZmZzZXQudG9wLCAibm9uZSIpOworICAg
IHRlc3RFbGVtZW50KGVsZW1lbnRPZmZzY3JlZW4sICJPZmZzY3JlZW4iLCBvZmZzZXQubGVmdCwg
b2Zmc2V0LnRvcCArIDExMDAsICJub25lIik7CisgICAgCisgICAgZXZlbnRTZW5kZXIuem9vbVBh
Z2VPdXQoKTsKKyAgICB0ZXN0RWxlbWVudChlbGVtZW50SW5pdGlhbCwgIkluaXRpYWwiLCBvZmZz
ZXQubGVmdCwgb2Zmc2V0LnRvcCwgInpvb20iKTsKKyAgICAKICAgICAKICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgIHZhciBhcmVhID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ3Rlc3RBcmVhJyk7CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9Eb2N1
bWVudC9DYXJldFJhbmdlRnJvbVBvaW50L2hpdHRlc3QtcmVsYXRpdmUtdG8tdmlld3BvcnQtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL0RvY3VtZW50L0Nh
cmV0UmFuZ2VGcm9tUG9pbnQvaGl0dGVzdC1yZWxhdGl2ZS10by12aWV3cG9ydC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDQ5MTk1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2Fy
ZXRSYW5nZUZyb21Qb2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0LWV4cGVjdGVkLnR4
dAkod29ya2luZyBjb3B5KQpAQCAtMjEsNiArMjEsMTUgQEAgUEFTUyBSYW5nZS5zdGFydE9mZnNl
dCBjaGVjayAoZ290IDIsIGV4cAogUEFTUyBSYW5nZS5zdGFydENvbnRhaW5lciBjaGVjayAoZ290
IFtvYmplY3QgVGV4dF0sIGV4cGVjdGVkIFtvYmplY3QgVGV4dF0pCiBQQVNTIFJhbmdlLnN0YXJ0
T2Zmc2V0IGNoZWNrIChnb3QgMTQsIGV4cGVjdGVkIDE0KQogIAorUEFTUyBSYW5nZS5zdGFydENv
bnRhaW5lciBjaGVjayAoZ290IFtvYmplY3QgVGV4dF0sIGV4cGVjdGVkIFtvYmplY3QgVGV4dF0p
CitQQVNTIFJhbmdlLnN0YXJ0T2Zmc2V0IGNoZWNrIChnb3QgMSwgZXhwZWN0ZWQgMSkKK1BBU1Mg
UmFuZ2Uuc3RhcnRDb250YWluZXIgY2hlY2sgKGdvdCBbb2JqZWN0IFRleHRdLCBleHBlY3RlZCBb
b2JqZWN0IFRleHRdKQorUEFTUyBSYW5nZS5zdGFydE9mZnNldCBjaGVjayAoZ290IDcsIGV4cGVj
dGVkIDcpCitQQVNTIFJhbmdlLnN0YXJ0Q29udGFpbmVyIGNoZWNrIChnb3QgW29iamVjdCBUZXh0
XSwgZXhwZWN0ZWQgW29iamVjdCBUZXh0XSkKK1BBU1MgUmFuZ2Uuc3RhcnRPZmZzZXQgY2hlY2sg
KGdvdCAzLCBleHBlY3RlZCAzKQorUEFTUyBSYW5nZS5zdGFydENvbnRhaW5lciBjaGVjayAoZ290
IFtvYmplY3QgVGV4dF0sIGV4cGVjdGVkIFtvYmplY3QgVGV4dF0pCitQQVNTIFJhbmdlLnN0YXJ0
T2Zmc2V0IGNoZWNrIChnb3QgOSwgZXhwZWN0ZWQgOSkKKyAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20v
RG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Qb2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRS
YW5nZUZyb21Qb2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0Lmh0bWwJKHJldmlzaW9u
IDQ5MTk1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vRG9jdW1lbnQvQ2FyZXRSYW5nZUZyb21Q
b2ludC9oaXR0ZXN0LXJlbGF0aXZlLXRvLXZpZXdwb3J0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDcgKzMxLDcgQEAKICAgICB2YXIgZWxlbWVudFRvcCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0LXRvcCcpLAogICAgICAgICBlbGVtZW50Qm90dG9tID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QtYm90dG9tJyk7CiAKLSAgICBmdW5jdGlvbiB0ZXN0c1dpdGhCYXNlbGlu
ZShiYXNlbGluZVBvcywgZXhwZWN0ZWRDb250YWluZXIpIHsKKyAgICBmdW5jdGlvbiB0ZXN0c1dp
dGhCYXNlbGluZShiYXNlbGluZVBvcywgZXhwZWN0ZWRDb250YWluZXIsIHpvb21Pck5vdCkgewog
ICAgICAgICBmdW5jdGlvbiB0ZXN0KGV4cGVjdGVkT2Zmc2V0LCBzY3JvbGxCeVgsIHNjcm9sbEJ5
WSkgewogICAgICAgICAgICAgdmFyIGhpdFBvc2l0aW9uID0geyB4OiAxNSwgeTogMTUgfSwKICAg
ICAgICAgICAgICAgICByYW5nZSwKQEAgLTY0LDEwICs2NCwxOCBAQAogICAgICAgICAgICAgd2lu
ZG93LnNjcm9sbFRvKGJhc2VsaW5lUG9zLnggKyB4LCBiYXNlbGluZVBvcy55ICsgeSk7CiAgICAg
ICAgIH0KIAotICAgICAgICB0ZXN0KDAsIDAsIDApOwotICAgICAgICB0ZXN0KDEyLCAwLCAyNSk7
Ci0gICAgICAgIHRlc3QoMiwgMjUsIDApOwotICAgICAgICB0ZXN0KDE0LCAyNSwgMjUpOworICAg
ICAgICBpZiAoem9vbU9yTm90ID09ICJ6b29tIikgeworICAgICAgICAgICAgdGVzdCgxLCAwLCAw
KTsKKyAgICAgICAgICAgIHRlc3QoNywgMCwgMjUpOworICAgICAgICAgICAgdGVzdCgzLCA1MCwg
MCk7CisgICAgICAgICAgICB0ZXN0KDksIDUwLCAyNSk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICB0ZXN0KDAsIDAsIDApOworICAgICAgICAgICAgdGVzdCgxMiwgMCwgMjUpOworICAg
ICAgICAgICAgdGVzdCgyLCAyNSwgMCk7CisgICAgICAgICAgICB0ZXN0KDE0LCAyNSwgMjUpOwor
ICAgICAgICB9CisKICAgICAgICAgZGVidWcoIiAiKTsKICAgICB9CiAKQEAgLTc4LDEwICs4Niwx
MyBAQAogICAgICAgICBib3R0b21CYXNlbGluZSA9IHsgeDogcmVjdEJvdHRvbS5sZWZ0IC0gOCwg
eTogcmVjdEJvdHRvbS50b3AgLSA4IH07CiAKICAgICAgLy8gVGVzdGluZyBpbnNpZGUgaW5pdGlh
bCBjb250YWluaW5nIGJsb2NrICh0b3AgbGVmdCkKLSAgICB0ZXN0c1dpdGhCYXNlbGluZSh0b3BC
YXNlbGluZSwgZWxlbWVudFRvcC5maXJzdENoaWxkKTsKKyAgICB0ZXN0c1dpdGhCYXNlbGluZSh0
b3BCYXNlbGluZSwgZWxlbWVudFRvcC5maXJzdENoaWxkLCAibm9uZSIpOwogCiAgICAgLy8gVGVz
dGluZyBvdXRzaWRlIGluaXRpYWwgY29udGFpbmluZyBibG9jayAobWlkLXBhZ2UpCi0gICAgdGVz
dHNXaXRoQmFzZWxpbmUoYm90dG9tQmFzZWxpbmUsIGVsZW1lbnRCb3R0b20uZmlyc3RDaGlsZCk7
CisgICAgdGVzdHNXaXRoQmFzZWxpbmUoYm90dG9tQmFzZWxpbmUsIGVsZW1lbnRCb3R0b20uZmly
c3RDaGlsZCwgIm5vbmUiKTsKKworICAgIGV2ZW50U2VuZGVyLnpvb21QYWdlT3V0KCk7CisgICAg
dGVzdHNXaXRoQmFzZWxpbmUodG9wQmFzZWxpbmUsIGVsZW1lbnRUb3AuZmlyc3RDaGlsZCwgInpv
b20iKTsKIAogICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICAg
dmFyIGFyZWEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdEFyZWEnKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>