<?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>12566</bug_id>
          
          <creation_ts>2007-02-04 02:48:56 -0800</creation_ts>
          <short_desc>[Drosera] Console history fixups</short_desc>
          <delta_ts>2008-05-17 09:56:03 -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>New Bugs</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>CLOSED</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>1</everconfirmed>
          <reporter name="David Smith">catfish.man</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>28688</commentid>
    <comment_count>0</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2007-02-04 02:48:56 -0800</bug_when>
    <thetext>The current console history implementation in Drosera is somewhat clunky, and doesn&apos;t correctly handle a number of cases (for example: hit up, enter a command, and then see where the history index is. It should be reset to the bottom, but it&apos;s not). The soon-to-be-attached patch should make it match bash&apos;s implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28683</commentid>
    <comment_count>1</comment_count>
      <attachid>12911</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2007-02-04 02:56:10 -0800</bug_when>
    <thetext>Created attachment 12911
History fixes

The aforementioned patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27629</commentid>
    <comment_count>2</comment_count>
      <attachid>12911</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-02-04 18:17:14 -0800</bug_when>
    <thetext>Comment on attachment 12911
History fixes

Seems to me we should be looking at keypress events, not keydown or keyup, since it&apos;s keypress events that actually change the contents of an input element. To process after the key is hit, we could perhaps listen for the input element&apos;s &quot;change&quot; event and keep a global variable to indicate what keypress is being processed.

+    if(event.keyCode != 38 &amp;&amp; event.keyCode != 40 &amp;&amp; event.keyCode != 13) {

We put spaces between if and ( characters.

+    historyDisplay.scrollTop = history.scrollHeight;

This looks wrong to me. I think you want historyDisplay.scrollHeight here.

review- just because of the scrollHeight mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27341</commentid>
    <comment_count>3</comment_count>
    <who name="David Smith">catfish.man</who>
    <bug_when>2007-02-05 14:04:47 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 12911 [edit])
&gt; Seems to me we should be looking at keypress events, not keydown or keyup,
&gt; since it&apos;s keypress events that actually change the contents of an input
&gt; element. To process after the key is hit, we could perhaps listen for the input
&gt; element&apos;s &quot;change&quot; event and keep a global variable to indicate what keypress
&gt; is being processed.

I&apos;ve fixed all the issues except this one, but I&apos;m not so sure on this; it seems to me that the behavior in the original patch is somewhat cleaner than keeping events around in a global just so we can ignore changes due to up/down/return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27361</commentid>
    <comment_count>4</comment_count>
      <attachid>12954</attachid>
    <who name="David Smith">catfish.man</who>
    <bug_when>2007-02-05 15:25:25 -0800</bug_when>
    <thetext>Created attachment 12954
This addresses all of Darin&apos;s comments except the first one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26569</commentid>
    <comment_count>5</comment_count>
      <attachid>12954</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-02-06 14:29:45 -0800</bug_when>
    <thetext>Comment on attachment 12954
This addresses all of Darin&apos;s comments except the first one.

Looks fine, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26592</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2007-02-06 15:47:39 -0800</bug_when>
    <thetext>Landed in r19447.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80794</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-05-17 09:56:03 -0700</bug_when>
    <thetext>Closing since Drosera has been replaced by the new Web Inspector debugger. Moving to the New Bugs component so the Drosera component can be closed and removed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12911</attachid>
            <date>2007-02-04 02:56:10 -0800</date>
            <delta_ts>2007-02-05 15:25:25 -0800</delta_ts>
            <desc>History fixes</desc>
            <filename>drosera-console-history-fixups.txt</filename>
            <type>text/plain</type>
            <size>4627</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE5Mzk0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDctMDItMDQgIERhdmlkIFNtaXRoICA8Y2F0
ZmlzaC5tYW5AZ21haWwuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFBhdGNoIGZvciBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjU2NgorICAgICAgICBbRHJvc2VyYV0gQ29uc29sZSBoaXN0b3J5IGZpeHVwcworCisg
ICAgICAgICogRHJvc2VyYS9jb25zb2xlLmpzOiBhc3NvcnRlZCBjbGVhbnVwcyBhbmQgZml4ZXMK
KwogMjAwNy0wMi0wMyAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE1hcmsuCkluZGV4OiBXZWJLaXRUb29scy9Ecm9zZXJhL2NvbnNvbGUuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHJvc2VyYS9jb25zb2xlLmpzCShyZXZpc2lvbiAxOTM5
NCkKKysrIFdlYktpdFRvb2xzL0Ryb3NlcmEvY29uc29sZS5qcwkod29ya2luZyBjb3B5KQpAQCAt
MjksMTMgKzI5LDE0IEBACiAKIHZhciBpbnB1dEVsZW1lbnQgPSBudWxsOwogdmFyIG1haW5XaW5k
b3cgPSB3aW5kb3cub3BlbmVyOwotdmFyIGhpc3RvcnlJbmRleCA9IC0xOwotdmFyIHN0b3JlZElu
cHV0ID0gbnVsbDsKK3ZhciBoaXN0b3J5ID0gWyIiXTsKK3ZhciBoaXN0b3J5SW5kZXggPSAwOwog
CiBmdW5jdGlvbiBsb2FkZWQoKQogewogICAgIGlucHV0RWxlbWVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbnB1dCIpOwogICAgIGlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJr
ZXlkb3duIiwgaW5wdXRLZXlEb3duLCBmYWxzZSk7CisgICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImtleXVwIiwgaW5wdXRLZXlVcCwgZmFsc2UpOwogICAgIGlucHV0RWxlbWVudC5m
b2N1cygpOwogfQogCkBAIC00Myw1NSArNDQsNDEgQEAgZnVuY3Rpb24gaW5wdXRLZXlEb3duKGV2
ZW50KQogewogICAgIGlmIChldmVudC5rZXlDb2RlID09IDEzICYmICFldmVudC5hbHRLZXkpIHsK
ICAgICAgICAgaWYgKG1haW5XaW5kb3cuaXNQYXVzZWQoKSAmJiBtYWluV2luZG93LmN1cnJlbnRT
dGFjaykgeworICAgICAgICAgICAgaGlzdG9yeVtoaXN0b3J5Lmxlbmd0aCAtIDFdID0gaW5wdXRF
bGVtZW50LmlubmVyVGV4dDsKICAgICAgICAgICAgIHNlbmRTY3JpcHQoaW5wdXRFbGVtZW50Lmlu
bmVyVGV4dCk7CiAgICAgICAgICAgICBpbnB1dEVsZW1lbnQuaW5uZXJUZXh0ID0gIiI7CisgICAg
ICAgICAgICBoaXN0b3J5LnB1c2goIiIpOworICAgICAgICAgICAgaGlzdG9yeUluZGV4ID0gaGlz
dG9yeS5sZW5ndGggLSAxOwogICAgICAgICAgICAgaW5wdXRFbGVtZW50LmZvY3VzKCk7CiAgICAg
ICAgIH0gZWxzZQogICAgICAgICAgICAgYWxlcnQoIlRoZSBkZWJ1Z2dlciBuZWVkcyB0byBiZSBw
YXVzZWQuXHRJbiBvcmRlciB0byBldmFsdWF0ZSB5b3VyIHNjcmlwdCBpbnB1dCB5b3UgbmVlZCB0
byBwYXVzZSB0aGUgZGVidWdnZXIgaW4gdGhlIGNvbnRleHQgb2YgYW5vdGhlciBzY3JpcHQuIik7
CiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0gICAgfSBlbHNlIGlmIChldmVudC5r
ZXlDb2RlID09IDM4ICYmICFldmVudC5hbHRLZXkpIHsKLSAgICAgICAgdmFyIGhpc3RvcnkgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGlzdG9yeSIpOwotICAgICAgICBpZiAoaGlzdG9yeUlu
ZGV4ID09IC0xKQotICAgICAgICAgICAgc3RvcmVkSW5wdXQgPSBpbnB1dEVsZW1lbnQuaW5uZXJU
ZXh0OwotICAgICAgICB2YXIgaGlzdG9yeUFycmF5ID0gaGlzdG9yeS5jaGlsZE5vZGVzOwotICAg
ICAgICB2YXIgaGlzdG9yeVNpemUgPSBoaXN0b3J5QXJyYXkubGVuZ3RoIC0gMTsKLSAgICAgICAg
aWYgKGhpc3RvcnlJbmRleCA8IGhpc3RvcnlTaXplKSB7Ci0gICAgICAgICAgICBoaXN0b3J5SW5k
ZXgrKzsKLSAgICAgICAgICAgIHZhciBpdGVtID0gaGlzdG9yeUFycmF5W2hpc3RvcnlTaXplIC0g
aGlzdG9yeUluZGV4XS5jaGlsZE5vZGVzWzBdOwotICAgICAgICAgICAgd2hpbGUoaXRlbS5jbGFz
c05hbWUuaW5kZXhPZigiZXhwcmVzc2lvbiIpID09IC0xKSB7Ci0gICAgICAgICAgICAgICAgaGlz
dG9yeUluZGV4Kys7Ci0gICAgICAgICAgICAgICAgaXRlbSA9IGhpc3RvcnlBcnJheVtoaXN0b3J5
U2l6ZSAtIGhpc3RvcnlJbmRleF0uY2hpbGROb2Rlc1swXTsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlucHV0RWxlbWVudC5pbm5lclRleHQgPSBpdGVtLmlubmVyVGV4dDsKLSAgICAgICAg
fQorICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PSAzOCAmJiAhZXZlbnQuYWx0S2V5ICYm
IGhpc3RvcnlJbmRleCA+IDApIHsKKyAgICAgICAgaGlzdG9yeUluZGV4LS07CisgICAgICAgIGlu
cHV0RWxlbWVudC5pbm5lclRleHQgPSBoaXN0b3J5W2hpc3RvcnlJbmRleF07CisgICAgICAgIGlu
cHV0RWxlbWVudC5mb2N1cygpCiAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7Ci0gICAg
fSBlbHNlIGlmIChldmVudC5rZXlDb2RlID09IDQwICYmICFldmVudC5hbHRLZXkpIHsKLSAgICAg
ICAgaWYgKGhpc3RvcnlJbmRleCA+PSAwKSB7Ci0gICAgICAgICAgICB2YXIgaGlzdG9yeSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5Iik7Ci0gICAgICAgICAgICBoaXN0b3J5SW5k
ZXgtLTsKLSAgICAgICAgICAgIGlmIChoaXN0b3J5SW5kZXggPT0gLTEpCi0gICAgICAgICAgICAg
ICAgaW5wdXRFbGVtZW50LmlubmVyVGV4dCA9IHN0b3JlZElucHV0OwotICAgICAgICAgICAgZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgdmFyIGhpc3RvcnlBcnJheSA9IGhpc3RvcnkuY2hpbGROb2Rl
czsKLSAgICAgICAgICAgICAgICB2YXIgaGlzdG9yeVNpemUgPSBoaXN0b3J5QXJyYXkubGVuZ3Ro
IC0gMTsKLSAgICAgICAgICAgICAgICB2YXIgaXRlbSA9IGhpc3RvcnlBcnJheVtoaXN0b3J5U2l6
ZSAtIGhpc3RvcnlJbmRleF0uY2hpbGROb2Rlc1swXTsKLSAgICAgICAgICAgICAgICB3aGlsZShp
dGVtLmNsYXNzTmFtZS5pbmRleE9mKCJleHByZXNzaW9uIikgPT0gLTEpIHsKLSAgICAgICAgICAg
ICAgICAgICAgaGlzdG9yeUluZGV4LS07Ci0gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBoaXN0
b3J5QXJyYXlbaGlzdG9yeVNpemUgLSBoaXN0b3J5SW5kZXhdLmNoaWxkTm9kZXNbMF07Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlucHV0RWxlbWVudC5pbm5lclRleHQgPSBp
dGVtLmlubmVyVGV4dDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQorICAgIH0gZWxzZSBpZiAo
ZXZlbnQua2V5Q29kZSA9PSA0MCAmJiAhZXZlbnQuYWx0S2V5ICYmIGhpc3RvcnlJbmRleCA8ICho
aXN0b3J5Lmxlbmd0aCAtIDEpKSB7CisgICAgICAgIGhpc3RvcnlJbmRleCsrOworICAgICAgICBp
bnB1dEVsZW1lbnQuaW5uZXJUZXh0ID0gaGlzdG9yeVtoaXN0b3J5SW5kZXhdOworICAgICAgICBp
bnB1dEVsZW1lbnQuZm9jdXMoKQogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogICAg
IH0KIH0KIAorZnVuY3Rpb24gaW5wdXRLZXlVcChldmVudCkKK3sKKyAgICBpZihldmVudC5rZXlD
b2RlICE9IDM4ICYmIGV2ZW50LmtleUNvZGUgIT0gNDAgJiYgZXZlbnQua2V5Q29kZSAhPSAxMykg
eworICAgICAgICBoaXN0b3J5W2hpc3RvcnlJbmRleF0gPSBpbnB1dEVsZW1lbnQuaW5uZXJUZXh0
OworICAgIH0KK30KKwogZnVuY3Rpb24gYXBwZW5kTWVzc2FnZShleHAsIG1zZykKIHsKLSAgICB2
YXIgaGlzdG9yeSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoaXN0b3J5Iik7CisgICAgdmFy
IGhpc3RvcnlEaXNwbGF5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpc3RvcnkiKTsKICAg
ICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgcm93LmNsYXNz
TmFtZSA9ICJyb3ciOwotICAgIGlmIChoaXN0b3J5LmNoaWxkTm9kZXMubGVuZ3RoICUgMikKKyAg
ICBpZiAoaGlzdG9yeURpc3BsYXkuY2hpbGROb2Rlcy5sZW5ndGggJSAyKQogICAgICAgICByb3cu
Y2xhc3NOYW1lICs9ICIgYWx0IjsKICAgICAKICAgICBpZiAoZXhwLmxlbmd0aCA+IDApIHsKQEAg
LTEwNyw4ICs5NCw4IEBAIGZ1bmN0aW9uIGFwcGVuZE1lc3NhZ2UoZXhwLCBtc2cpCiAgICAgCiAg
ICAgcm93LmFwcGVuZENoaWxkKHJlc3VsdCk7CiAgICAgCi0gICAgaGlzdG9yeS5hcHBlbmRDaGls
ZChyb3cpOwotICAgIGhpc3Rvcnkuc2Nyb2xsVG9wID0gaGlzdG9yeS5zY3JvbGxIZWlnaHQ7Cisg
ICAgaGlzdG9yeURpc3BsYXkuYXBwZW5kQ2hpbGQocm93KTsKKyAgICBoaXN0b3J5RGlzcGxheS5z
Y3JvbGxUb3AgPSBoaXN0b3J5LnNjcm9sbEhlaWdodDsKIH0KIAogZnVuY3Rpb24gc2VuZFNjcmlw
dChzY3JpcHQpCg==
</data>
<flag name="review"
          id="4968"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12954</attachid>
            <date>2007-02-05 15:25:25 -0800</date>
            <delta_ts>2007-02-06 14:29:45 -0800</delta_ts>
            <desc>This addresses all of Darin&apos;s comments except the first one.</desc>
            <filename>drosera-console-history-fixups.txt</filename>
            <type>text/plain</type>
            <size>4576</size>
            <attacher name="David Smith">catfish.man</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDE5NDEy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIwMDctMDIt
MDUgIERhdmlkIFNtaXRoICA8Y2F0ZmlzaC5tYW5AZ21haWwuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhdGNoIGZvciBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU2NgorICAgICAgICBbRHJvc2VyYV0gQ29uc29s
ZSBoaXN0b3J5IGZpeHVwcworCisgICAgICAgICogRHJvc2VyYS9jb25zb2xlLmpzOiBhc3NvcnRl
ZCBjbGVhbnVwcyBhbmQgZml4ZXMKKwogMjAwNy0wMi0wNSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDog
RHJvc2VyYS9jb25zb2xlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIERyb3NlcmEvY29uc29sZS5qcwkocmV2
aXNpb24gMTk0MTIpCisrKyBEcm9zZXJhL2NvbnNvbGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDEzICsyOSwxNCBAQAogCiB2YXIgaW5wdXRFbGVtZW50ID0gbnVsbDsKIHZhciBtYWluV2luZG93
ID0gd2luZG93Lm9wZW5lcjsKLXZhciBoaXN0b3J5SW5kZXggPSAtMTsKLXZhciBzdG9yZWRJbnB1
dCA9IG51bGw7Cit2YXIgaGlzdG9yeSA9IFsiIl07Cit2YXIgaGlzdG9yeUluZGV4ID0gMDsKIAog
ZnVuY3Rpb24gbG9hZGVkKCkKIHsKICAgICBpbnB1dEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaW5wdXQiKTsKICAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5
ZG93biIsIGlucHV0S2V5RG93biwgZmFsc2UpOworICAgIGlucHV0RWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJrZXl1cCIsIGlucHV0S2V5VXAsIGZhbHNlKTsKICAgICBpbnB1dEVsZW1lbnQuZm9j
dXMoKTsKIH0KIApAQCAtNDMsNTUgKzQ0LDQxIEBAIGZ1bmN0aW9uIGlucHV0S2V5RG93bihldmVu
dCkKIHsKICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PSAxMyAmJiAhZXZlbnQuYWx0S2V5KSB7CiAg
ICAgICAgIGlmIChtYWluV2luZG93LmlzUGF1c2VkKCkgJiYgbWFpbldpbmRvdy5jdXJyZW50U3Rh
Y2spIHsKKyAgICAgICAgICAgIGhpc3RvcnlbaGlzdG9yeS5sZW5ndGggLSAxXSA9IGlucHV0RWxl
bWVudC5pbm5lclRleHQ7CiAgICAgICAgICAgICBzZW5kU2NyaXB0KGlucHV0RWxlbWVudC5pbm5l
clRleHQpOwogICAgICAgICAgICAgaW5wdXRFbGVtZW50LmlubmVyVGV4dCA9ICIiOworICAgICAg
ICAgICAgaGlzdG9yeS5wdXNoKCIiKTsKKyAgICAgICAgICAgIGhpc3RvcnlJbmRleCA9IGhpc3Rv
cnkubGVuZ3RoIC0gMTsKICAgICAgICAgICAgIGlucHV0RWxlbWVudC5mb2N1cygpOwogICAgICAg
ICB9IGVsc2UKICAgICAgICAgICAgIGFsZXJ0KCJUaGUgZGVidWdnZXIgbmVlZHMgdG8gYmUgcGF1
c2VkLlx0SW4gb3JkZXIgdG8gZXZhbHVhdGUgeW91ciBzY3JpcHQgaW5wdXQgeW91IG5lZWQgdG8g
cGF1c2UgdGhlIGRlYnVnZ2VyIGluIHRoZSBjb250ZXh0IG9mIGFub3RoZXIgc2NyaXB0LiIpOwog
ICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5
Q29kZSA9PSAzOCAmJiAhZXZlbnQuYWx0S2V5KSB7Ci0gICAgICAgIHZhciBoaXN0b3J5ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpc3RvcnkiKTsKLSAgICAgICAgaWYgKGhpc3RvcnlJbmRl
eCA9PSAtMSkKLSAgICAgICAgICAgIHN0b3JlZElucHV0ID0gaW5wdXRFbGVtZW50LmlubmVyVGV4
dDsKLSAgICAgICAgdmFyIGhpc3RvcnlBcnJheSA9IGhpc3RvcnkuY2hpbGROb2RlczsKLSAgICAg
ICAgdmFyIGhpc3RvcnlTaXplID0gaGlzdG9yeUFycmF5Lmxlbmd0aCAtIDE7Ci0gICAgICAgIGlm
IChoaXN0b3J5SW5kZXggPCBoaXN0b3J5U2l6ZSkgewotICAgICAgICAgICAgaGlzdG9yeUluZGV4
Kys7Ci0gICAgICAgICAgICB2YXIgaXRlbSA9IGhpc3RvcnlBcnJheVtoaXN0b3J5U2l6ZSAtIGhp
c3RvcnlJbmRleF0uY2hpbGROb2Rlc1swXTsKLSAgICAgICAgICAgIHdoaWxlKGl0ZW0uY2xhc3NO
YW1lLmluZGV4T2YoImV4cHJlc3Npb24iKSA9PSAtMSkgewotICAgICAgICAgICAgICAgIGhpc3Rv
cnlJbmRleCsrOwotICAgICAgICAgICAgICAgIGl0ZW0gPSBoaXN0b3J5QXJyYXlbaGlzdG9yeVNp
emUgLSBoaXN0b3J5SW5kZXhdLmNoaWxkTm9kZXNbMF07Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICBpbnB1dEVsZW1lbnQuaW5uZXJUZXh0ID0gaXRlbS5pbm5lclRleHQ7Ci0gICAgICAgIH0K
KyAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUNvZGUgPT0gMzggJiYgIWV2ZW50LmFsdEtleSAmJiBo
aXN0b3J5SW5kZXggPiAwKSB7CisgICAgICAgIGhpc3RvcnlJbmRleC0tOworICAgICAgICBpbnB1
dEVsZW1lbnQuaW5uZXJUZXh0ID0gaGlzdG9yeVtoaXN0b3J5SW5kZXhdOworICAgICAgICBpbnB1
dEVsZW1lbnQuZm9jdXMoKQogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotICAgIH0g
ZWxzZSBpZiAoZXZlbnQua2V5Q29kZSA9PSA0MCAmJiAhZXZlbnQuYWx0S2V5KSB7Ci0gICAgICAg
IGlmIChoaXN0b3J5SW5kZXggPj0gMCkgewotICAgICAgICAgICAgdmFyIGhpc3RvcnkgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiaGlzdG9yeSIpOwotICAgICAgICAgICAgaGlzdG9yeUluZGV4
LS07Ci0gICAgICAgICAgICBpZiAoaGlzdG9yeUluZGV4ID09IC0xKQotICAgICAgICAgICAgICAg
IGlucHV0RWxlbWVudC5pbm5lclRleHQgPSBzdG9yZWRJbnB1dDsKLSAgICAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgICAgIHZhciBoaXN0b3J5QXJyYXkgPSBoaXN0b3J5LmNoaWxkTm9kZXM7
Ci0gICAgICAgICAgICAgICAgdmFyIGhpc3RvcnlTaXplID0gaGlzdG9yeUFycmF5Lmxlbmd0aCAt
IDE7Ci0gICAgICAgICAgICAgICAgdmFyIGl0ZW0gPSBoaXN0b3J5QXJyYXlbaGlzdG9yeVNpemUg
LSBoaXN0b3J5SW5kZXhdLmNoaWxkTm9kZXNbMF07Ci0gICAgICAgICAgICAgICAgd2hpbGUoaXRl
bS5jbGFzc05hbWUuaW5kZXhPZigiZXhwcmVzc2lvbiIpID09IC0xKSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGhpc3RvcnlJbmRleC0tOwotICAgICAgICAgICAgICAgICAgICBpdGVtID0gaGlzdG9y
eUFycmF5W2hpc3RvcnlTaXplIC0gaGlzdG9yeUluZGV4XS5jaGlsZE5vZGVzWzBdOwotICAgICAg
ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpbnB1dEVsZW1lbnQuaW5uZXJUZXh0ID0gaXRl
bS5pbm5lclRleHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICB9IGVsc2UgaWYgKGV2
ZW50LmtleUNvZGUgPT0gNDAgJiYgIWV2ZW50LmFsdEtleSAmJiBoaXN0b3J5SW5kZXggPCAoaGlz
dG9yeS5sZW5ndGggLSAxKSkgeworICAgICAgICBoaXN0b3J5SW5kZXgrKzsKKyAgICAgICAgaW5w
dXRFbGVtZW50LmlubmVyVGV4dCA9IGhpc3RvcnlbaGlzdG9yeUluZGV4XTsKKyAgICAgICAgaW5w
dXRFbGVtZW50LmZvY3VzKCkKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICB9
CiB9CiAKK2Z1bmN0aW9uIGlucHV0S2V5VXAoZXZlbnQpCit7CisgICAgaWYgKGV2ZW50LmtleUNv
ZGUgIT0gMzggJiYgZXZlbnQua2V5Q29kZSAhPSA0MCAmJiBldmVudC5rZXlDb2RlICE9IDEzKSB7
CisgICAgICAgIGhpc3RvcnlbaGlzdG9yeUluZGV4XSA9IGlucHV0RWxlbWVudC5pbm5lclRleHQ7
CisgICAgfQorfQorCiBmdW5jdGlvbiBhcHBlbmRNZXNzYWdlKGV4cCwgbXNnKQogewotICAgIHZh
ciBoaXN0b3J5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhpc3RvcnkiKTsKKyAgICB2YXIg
aGlzdG9yeURpc3BsYXkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGlzdG9yeSIpOwogICAg
IHZhciByb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICByb3cuY2xhc3NO
YW1lID0gInJvdyI7Ci0gICAgaWYgKGhpc3RvcnkuY2hpbGROb2Rlcy5sZW5ndGggJSAyKQorICAg
IGlmIChoaXN0b3J5RGlzcGxheS5jaGlsZE5vZGVzLmxlbmd0aCAlIDIpCiAgICAgICAgIHJvdy5j
bGFzc05hbWUgKz0gIiBhbHQiOwogICAgIAogICAgIGlmIChleHAubGVuZ3RoID4gMCkgewpAQCAt
MTA3LDggKzk0LDggQEAgZnVuY3Rpb24gYXBwZW5kTWVzc2FnZShleHAsIG1zZykKICAgICAKICAg
ICByb3cuYXBwZW5kQ2hpbGQocmVzdWx0KTsKICAgICAKLSAgICBoaXN0b3J5LmFwcGVuZENoaWxk
KHJvdyk7Ci0gICAgaGlzdG9yeS5zY3JvbGxUb3AgPSBoaXN0b3J5LnNjcm9sbEhlaWdodDsKKyAg
ICBoaXN0b3J5RGlzcGxheS5hcHBlbmRDaGlsZChyb3cpOworICAgIGhpc3RvcnlEaXNwbGF5LnNj
cm9sbFRvcCA9IGhpc3RvcnlEaXNwbGF5LnNjcm9sbEhlaWdodDsKIH0KIAogZnVuY3Rpb24gc2Vu
ZFNjcmlwdChzY3JpcHQpCg==
</data>
<flag name="review"
          id="4994"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>