<?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>57059</bug_id>
          
          <creation_ts>2011-03-24 15:36:07 -0700</creation_ts>
          <short_desc>input field with focus makes appendChild operation ~42x slower</short_desc>
          <delta_ts>2011-04-20 07:48:53 -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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Igor Minar">iiminar</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eae</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>373144</commentid>
    <comment_count>0</comment_count>
    <who name="Igor Minar">iiminar</who>
    <bug_when>2011-03-24 15:36:07 -0700</bug_when>
    <thetext>Attached is a reduced test case from a large application that suffers from latency issues in Chrome/WebKit due to slow dom manipulation (specifically adding child nodes via appendChild).

The issue perf issue occurs only if the input field has a focus, if the same set of dom operations are invoked via provided button, the dom manipulation is fast.

I measured the perf difference and constantly see ~42x slowdown if the input field has focus (tested with r81868).

Test instructions:
- open the test case
- note how long it took to add 1000 li elements to the list present on the page (the number is displayed)
- click on the &quot;toggle input&quot; button, to cause 1000 li nodes to be removed from the list
- click on the &quot;toggle input&quot; button again to cause 1000 li nodes to be appended to the list and note how long it took
- now do the same by typing &quot;x&quot; into the input field and removing it and compare the results

You can also try invoking update(&apos;x&apos;) and update(&apos;&apos;) from console with and without placing focus on the input field with focus() to see the same results.

When the same test is run in Firefox 4, placing focus on the input field makes no difference in performance of appendChild operation.

I also tried testing the issue with Safari 5.0.4, and while it&apos;s not as bad there, the slowdown is ~21x.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373148</commentid>
    <comment_count>1</comment_count>
      <attachid>86848</attachid>
    <who name="Igor Minar">iiminar</who>
    <bug_when>2011-03-24 15:38:02 -0700</bug_when>
    <thetext>Created attachment 86848
reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>373151</commentid>
    <comment_count>2</comment_count>
    <who name="Igor Minar">iiminar</who>
    <bug_when>2011-03-24 15:43:55 -0700</bug_when>
    <thetext>I also filed https://bugs.webkit.org/show_bug.cgi?id=57061 which in combination with this issue kills our app in WebKit/Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386777</commentid>
    <comment_count>3</comment_count>
      <attachid>89819</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-04-15 11:36:01 -0700</bug_when>
    <thetext>Created attachment 89819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386782</commentid>
    <comment_count>4</comment_count>
      <attachid>89819</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-15 11:42:07 -0700</bug_when>
    <thetext>Comment on attachment 89819
Patch

great! Can you file a bug to put this whole deleteButtonController business behind a compile flag? Most builds of WebKit don&apos;t need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387051</commentid>
    <comment_count>5</comment_count>
      <attachid>89819</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 17:03:21 -0700</bug_when>
    <thetext>Comment on attachment 89819
Patch

Clearing flags on attachment: 89819

Committed r84056: &lt;http://trac.webkit.org/changeset/84056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387052</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-15 17:03:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387136</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-15 18:22:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/84056 might have broken WinCairo Debug (Build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389091</commentid>
    <comment_count>8</comment_count>
    <who name="Igor Minar">iiminar</who>
    <bug_when>2011-04-19 23:48:03 -0700</bug_when>
    <thetext>I was able to manually verify the fix with the r84295 nightly build.

Thanks for the fix, Emil.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389225</commentid>
    <comment_count>9</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-04-20 07:48:53 -0700</bug_when>
    <thetext>Cool, thanks for verifying!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>86848</attachid>
            <date>2011-03-24 15:38:02 -0700</date>
            <delta_ts>2011-03-24 15:38:02 -0700</delta_ts>
            <desc>reduced test case</desc>
            <filename>input-focus-appendChild.html</filename>
            <type>text/html</type>
            <size>1857</size>
            <attacher name="Igor Minar">iiminar</attacher>
            
              <data encoding="base64">PCFkb2N0eXBlIGh0bWw+CjxodG1sPgogIDxoZWFkPgogICAgPHRpdGxlPmlucHV0IHdpdGggZm9j
dXMgKyBhcHBlbmRDaGlsZDwvdGl0bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPGlucHV0IG5h
bWU9InF1ZXJ5Ij4KICAgIDxkaXY+PHNwYW4gaWQ9Im9wIj48L3NwYW4+IHRvb2s6IDxzcGFuIGlk
PSJ0aW1lciI+PC9zcGFuPm1zPC9kaXY+CiAgICA8YnV0dG9uPnRvZ2dsZSBpbnB1dDwvYnV0dG9u
PgogICAgCiAgICA8dWwgaWQ9Imxpc3QiPjxsaT48c3Bhbj48L3NwYW4+PC9saT48L3VsPgogICAg
CiAgICA8c2NyaXB0PgogICAgICB2YXIgbGlzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCds
aXN0JyksCiAgICAgICAgICB0ZW1wbGF0ZSA9IGxpc3QuY2hpbGROb2Rlc1swXSwKICAgICAgICAg
IHF1ZXJ5Qm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF0sCiAg
ICAgICAgICBvcGVyYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3AnKSwKICAgICAg
ICAgIHRpbWVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RpbWVyJyksCiAgICAgICAgICB0
ZXN0QnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2J1dHRvbicpWzBdLAog
ICAgICAgICAgaSwgY2xvbmU7CgogICAgICBsaXN0LnJlbW92ZUNoaWxkKHRlbXBsYXRlKTsKICAg
ICAgCiAgICAgIHRlc3RCdXR0b24ub25jbGljayA9IGZ1bmN0aW9uKCkgewogICAgICAgIGlmIChx
dWVyeUJveC52YWx1ZSkgewogICAgICAgICAgcXVlcnlCb3gudmFsdWUgPSAnJzsKICAgICAgICB9
IGVsc2UgewogICAgICAgICAgcXVlcnlCb3gudmFsdWUgPSAneCc7CiAgICAgICAgfQogICAgICAg
IHVwZGF0ZSgpOwogICAgICB9OwogICAgICAKICAgICAgCiAgICAgIHF1ZXJ5Qm94Lm9ua2V5dXAg
PSBmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH07CiAgICAgIAogICAgICB1cGRhdGUoKTsKICAgICAg
CiAgICAgIGZ1bmN0aW9uIHVwZGF0ZShxdWVyeU92ZXJyaWRlKSB7CiAgICAgICAgdmFyIHN0YXJ0
ID0gRGF0ZS5ub3coKTsKICAgICAgICB2YXIgcXVlcnkgPSBxdWVyeU92ZXJyaWRlIHx8IHF1ZXJ5
Qm94LnZhbHVlLAogICAgICAgICAgICBtYXRjaGVkSXRlbXMgPSAwOwoKICAgICAgICBmb3IoaT0w
OyBpPDEwMDA7IGkrKykgewogICAgICAgICAgaWYgKCgnJytpKS5pbmRleE9mKHF1ZXJ5KSAhPSAt
MSkgewogICAgICAgICAgICBpZiAobWF0Y2hlZEl0ZW1zIDwgbGlzdC5jaGlsZE5vZGVzLmxlbmd0
aCkgewogICAgICAgICAgICAgIGxpc3QuY2hpbGROb2Rlc1ttYXRjaGVkSXRlbXNdLmNoaWxkTm9k
ZXNbMF0udGV4dENvbnRlbnQgPSBpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAg
IGNsb25lID0gdGVtcGxhdGUuY2xvbmVOb2RlKHRydWUpOwogICAgICAgICAgICAgIGxpc3QuYXBw
ZW5kQ2hpbGQoY2xvbmUpOwogICAgICAgICAgICAgIGNsb25lLmNoaWxkTm9kZXNbMF0udGV4dENv
bnRlbnQgPSBpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG1hdGNoZWRJdGVtcyArPSAxOwog
ICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgd2hpbGUgKGxpc3QuY2hpbGROb2Rlcy5sZW5n
dGggPiAobWF0Y2hlZEl0ZW1zKSkgewogICAgICAgICAgbGlzdC5yZW1vdmVDaGlsZChsaXN0LmNo
aWxkTm9kZXNbbWF0Y2hlZEl0ZW1zXSk7CiAgICAgICAgfQoKICAgICAgICBvcGVyYXRpb24udGV4
dENvbnRlbnQgPSBxdWVyeUJveC52YWx1ZSA/ICdSZW1vdmFsJyA6ICdBZGRpdGlvbic7CiAgICAg
ICAgdGltZXIudGV4dENvbnRlbnQgPSBEYXRlLm5vdygpIC0gc3RhcnQ7CiAgICAgIH0KICAgICAg
CiAgICA8L3NjcmlwdD4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89819</attachid>
            <date>2011-04-15 11:36:01 -0700</date>
            <delta_ts>2011-04-15 17:03:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>57059.patch</filename>
            <type>text/plain</type>
            <size>5298</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzOTk1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDQtMTUgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGlucHV0IGZpZWxkIHdpdGggZm9jdXMgbWFrZXMgYXBwZW5kQ2hp
bGQgb3BlcmF0aW9uIH40Mnggc2xvd2VyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NzA1OQorCisgICAgICAgIENoYW5nZSBDb250YWluZXJOb2RlOjpj
bG9uZUNoaWxkTm9kZXMgdG8gb25seSBkaXNhYmxlIHRoZQorICAgICAgICBkZWxldGVCdXR0b25D
b250cm9sbGVyIGlmIHRoZSBjb250YWluZXIgaXRzZWxmIChvciBhbnkgb2YgaXRzIGNoaWxkcmVu
KQorICAgICAgICBpcyBiZWluZyBlZGl0ZWQuIFRodXMgYXZvaWRpbmcgYSByZWZsb3cgaW4gY2Fz
ZXMgd2hlcmUgaXQncyBub3QuCisKKyAgICAgICAgVGVzdDogcGVyZi9jbG9uZS13aXRoLWZvY3Vz
Lmh0bWwKKworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRhaW5lck5vZGU6OmNsb25lQ2hpbGROb2Rlcyk6CisKIDIwMTEtMDQtMTQgIFpoZW55
YW8gTW8gIDx6bW9AZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJ1
c3NlbGwuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCShyZXZpc2lvbiA4
Mzk3NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzg5LDkgKzc4OSwxNiBAQCB2b2lkIENvbnRhaW5lck5vZGU6OmNoaWxkcmVuQ2hh
bmdlZChib29sCiB2b2lkIENvbnRhaW5lck5vZGU6OmNsb25lQ2hpbGROb2RlcyhDb250YWluZXJO
b2RlICpjbG9uZSkKIHsKICAgICAvLyBkaXNhYmxlIHRoZSBkZWxldGUgYnV0dG9uIHNvIGl0J3Mg
ZWxlbWVudHMgYXJlIG5vdCBzZXJpYWxpemVkIGludG8gdGhlIG1hcmt1cAotICAgIGJvb2wgaXNF
ZGl0b3JFbmFibGVkID0gZG9jdW1lbnQoKS0+ZnJhbWUoKSAmJiBkb2N1bWVudCgpLT5mcmFtZSgp
LT5lZGl0b3IoKS0+Y2FuRWRpdCgpOwotICAgIGlmIChpc0VkaXRvckVuYWJsZWQpCi0gICAgICAg
IGRvY3VtZW50KCktPmZyYW1lKCktPmVkaXRvcigpLT5kZWxldGVCdXR0b25Db250cm9sbGVyKCkt
PmRpc2FibGUoKTsKKyAgICBib29sIGlzRWRpdG9yRW5hYmxlZCA9IGZhbHNlOworICAgIGlmIChk
b2N1bWVudCgpLT5mcmFtZSgpICYmIGRvY3VtZW50KCktPmZyYW1lKCktPmVkaXRvcigpLT5jYW5F
ZGl0KCkpIHsKKyAgICAgICAgU2VsZWN0aW9uQ29udHJvbGxlciogc2VsZWN0aW9uID0gZG9jdW1l
bnQoKS0+ZnJhbWUoKS0+c2VsZWN0aW9uKCk7CisgICAgICAgIEVsZW1lbnQqIHJvb3QgPSBzZWxl
Y3Rpb24gPyBzZWxlY3Rpb24tPnJvb3RFZGl0YWJsZUVsZW1lbnQoKSA6IDA7CisgICAgICAgIGlz
RWRpdG9yRW5hYmxlZCA9IHJvb3QgJiYgaXNEZXNjZW5kYW50T2Yocm9vdCk7CisKKyAgICAgICAg
aWYgKGlzRWRpdG9yRW5hYmxlZCkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmVk
aXRvcigpLT5kZWxldGVCdXR0b25Db250cm9sbGVyKCktPmRpc2FibGUoKTsKKyAgICB9CisgICAg
CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgZm9yIChOb2RlKiBuID0gZmlyc3RDaGls
ZCgpOyBuICYmICFlYzsgbiA9IG4tPm5leHRTaWJsaW5nKCkpCiAgICAgICAgIGNsb25lLT5hcHBl
bmRDaGlsZChuLT5jbG9uZU5vZGUodHJ1ZSksIGVjKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDgzOTk1
KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTEtMDQtMTUgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGlucHV0IGZpZWxkIHdp
dGggZm9jdXMgbWFrZXMgYXBwZW5kQ2hpbGQgb3BlcmF0aW9uIH40Mnggc2xvd2VyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzA1OQorCisgICAgICAg
IEFkZCBwZXJmb3JtYW5jZSB0ZXN0IGZvciBjbG9uZU5vZGUgd2hlbiBhbiBpbnB1dCBmaWVsZCBo
YXMgZm9jdXMuCisKKyAgICAgICAgKiBwZXJmL2Nsb25lLXdpdGgtZm9jdXMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwZXJmL2Nsb25lLXdpdGgtZm9jdXMuaHRtbDogQWRkZWQuCisK
IDIwMTEtMDQtMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmViYXNlbGluZSBNYWMgcGl4ZWwgcmVzdWx0cyBpbiBmYXN0LyBvbiBTbm93TGVvcGFy
ZC4KSW5kZXg6IExheW91dFRlc3RzL3BlcmYvY2xvbmUtd2l0aC1mb2N1cy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZi9jbG9uZS13aXRoLWZvY3VzLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BlcmYvY2xvbmUtd2l0aC1mb2N1cy1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMiBAQAorCitQQVNTLiBDbG9uaW5n
IGVsZW1lbnRzIHRha2VzIHJvdWdobHkgYXMgbG9uZyB3aXRoIGFzIHdpdGhvdXQgZm9jdXMuCklu
ZGV4OiBMYXlvdXRUZXN0cy9wZXJmL2Nsb25lLXdpdGgtZm9jdXMuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wZXJmL2Nsb25lLXdpdGgtZm9jdXMuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3BlcmYvY2xvbmUtd2l0aC1mb2N1cy5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4gCis8aHRtbD4gCisgIDxib2R5PiAKKyAgICA8
aW5wdXQgaWQ9ImlucHV0Ij4gCisgICAgPHVsIGlkPSJsaXN0Ij48bGk+PHNwYW4+PC9zcGFuPjwv
bGk+PC91bD4KKyAgICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAKKyAgICA8c2NyaXB0
PgorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgCisgICAgICAg
IHZhciBsaXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsaXN0Jyk7CisgICAg
ICAgIHZhciB0ZW1wbGF0ZUVsZW1lbnQgPSBsaXN0LmZpcnN0Q2hpbGQ7CisgICAgICAgIHZhciBp
bnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW5wdXQnKTsKKyAgICAgICAg
CisgICAgICAgIGZ1bmN0aW9uIHRlc3QobnVtYmVyT2ZFbGVtZW50cywgZm9jdXNJbnB1dCkKKyAg
ICAgICAgeworICAgICAgICAgICAgaWYgKGZvY3VzSW5wdXQpCisgICAgICAgICAgICAgICAgaW5w
dXRFbGVtZW50LmZvY3VzKCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICB2YXIgc3Rh
cnRUaW1lID0gRGF0ZS5ub3coKTsKKyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbnVt
YmVyT2ZFbGVtZW50czsgaSsrKSB7CisgICAgICAgICAgICAgICAgdmFyIGNsb25lID0gdGVtcGxh
dGVFbGVtZW50LmNsb25lTm9kZSh0cnVlKTsKKyAgICAgICAgICAgICAgICBjbG9uZS5jaGlsZE5v
ZGVzWzBdLnRleHRDb250ZW50ID0gaTsKKyAgICAgICAgICAgICAgICBsaXN0RWxlbWVudC5hcHBl
bmRDaGlsZChjbG9uZSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICB2YXIgZW5kVGltZSA9
IERhdGUubm93KCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChmb2N1c0lucHV0KQor
ICAgICAgICAgICAgICAgIGlucHV0RWxlbWVudC5ibHVyKCk7CisgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICB3aGlsZSAobGlzdEVsZW1lbnQuZmlyc3RDaGlsZCAhPSBsaXN0RWxlbWVudC5s
YXN0Q2hpbGQpCisgICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQucmVtb3ZlQ2hpbGQobGlzdEVs
ZW1lbnQubGFzdENoaWxkKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgcmV0dXJuIGVuZFRp
bWUgLSBzdGFydFRpbWU7CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBsb2coc3RyKQor
ICAgICAgICB7CisgICAgICAgICAgICB2YXIgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoJ2RpdicpOworICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShzdHIpKTsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdj
b25zb2xlJykuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgICAgIH0KKworICAgICAgICB2YXIg
dGltZVdpdGhvdXRGb2N1cyA9IHRlc3QoMTAwMCwgZmFsc2UpOworICAgICAgICB2YXIgdGltZVdp
dGhGb2N1cyA9IHRlc3QoMTAwMCwgdHJ1ZSk7CisKKyAgICAgICAgaWYgKE1hdGguYWJzKHRpbWVX
aXRoRm9jdXMgLSB0aW1lV2l0aG91dEZvY3VzKSA8PSB0aW1lV2l0aG91dEZvY3VzKSB7CisgICAg
ICAgICAgICBsb2coJ1BBU1MuIENsb25pbmcgZWxlbWVudHMgdGFrZXMgcm91Z2hseSBhcyBsb25n
IHdpdGggYXMgd2l0aG91dCBmb2N1cy4nKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IGxvZygnRkFJTC4gQ2xvbmluZyAxMDAwIGVsZW1lbnRzIHdpdGggZm9jdXMgdG9vayAnICsgdGlt
ZVdpdGhGb2N1cyArICdtcywgd2l0aG91dCB0b29rICcgKyB0aW1lV2l0aG91dEZvY3VzICsgJ21z
LicpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+IAorICA8L2JvZHk+IAorPC9odG1sPiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>