<?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>27322</bug_id>
          
          <creation_ts>2009-07-15 17:15:42 -0700</creation_ts>
          <short_desc>Inspector: Create New DOM Storage Items via DataGrid</short_desc>
          <delta_ts>2009-07-28 21:55:12 -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>Web Inspector (Deprecated)</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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>132099</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-15 17:15:42 -0700</bug_when>
    <thetext>The DataGrid for DOM Storage (localStorage and sessionStorage) should be more interactive.  This will allow a lot more interaction, including creating Elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132102</commentid>
    <comment_count>1</comment_count>
      <attachid>32821</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-15 17:29:04 -0700</bug_when>
    <thetext>Created attachment 32821
Make DOM Storage DataGrid More Interactive

- Added a &quot;CreationDataGridNode&quot; type that can delete its special data and transform back into a normal DataGridNode.
- Added a reference in the DataGrid to a CreationDataNode if one exists: @see addCreationNode()
- Clicking anywhere in the excess space will select the bottom row (an existing blank row)
- DOM Storage specific logic forces it to select the leftmost td (to set a Key)

I see a potential problem with sorting the GridData table.  However, sorting wasn&apos;t working for me to begin with (was it ever working).  However, the special CreationDataNode, if it exists, has this.isCreationNode and thus can easily be sorted last.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135029</commentid>
    <comment_count>2</comment_count>
      <attachid>32821</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-27 15:02:57 -0700</bug_when>
    <thetext>Comment on attachment 32821
Make DOM Storage DataGrid More Interactive

&gt; +        if (this._editingNode.isCreationNode) {
&gt; +            element = this._editingNode._element.children[0]; // Leftmost Column
&gt; +        }

No need for the braces here.

What does the creation row look like?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135041</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-27 15:29:56 -0700</bug_when>
    <thetext>This is what the functionality looks like:
http://screencast.com/t/ngFWrjWN6M

Updating the patch with a few style fixes and that &quot;select()&quot; the creation row so that you don&apos;t accidently delete something in the background.  That new patch will be up in a second.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135048</commentid>
    <comment_count>4</comment_count>
      <attachid>33577</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-27 15:40:56 -0700</bug_when>
    <thetext>Created attachment 33577
Make DOM Storage DataGrid More Interactive

NOTES:

- Style fixes
- Added the select() call to prevent unwanted deletions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135473</commentid>
    <comment_count>5</comment_count>
      <attachid>33577</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-28 21:14:21 -0700</bug_when>
    <thetext>Comment on attachment 33577
Make DOM Storage DataGrid More Interactive

&gt; +        var cnt = 0;
&gt; +        for (var i in this.columns)
&gt; +            emptyData[cnt++] = &apos;&apos;;

This looks funny. Shouldn&apos;t this just be:

for (var column in this.columns)
    emptyData[column] = &apos;&apos;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135476</commentid>
    <comment_count>6</comment_count>
      <attachid>32821</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-28 21:30:16 -0700</bug_when>
    <thetext>Comment on attachment 32821
Make DOM Storage DataGrid More Interactive

Clearing r+ on obsolete patch to move out of commit queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135477</commentid>
    <comment_count>7</comment_count>
      <attachid>33689</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-28 21:38:46 -0700</bug_when>
    <thetext>Created attachment 33689
Fixed the Loop</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135480</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2009-07-28 21:42:36 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 33577 [details])
&gt; &gt; +        var cnt = 0;
&gt; &gt; +        for (var i in this.columns)
&gt; &gt; +            emptyData[cnt++] = &apos;&apos;;
&gt; 
&gt; This looks funny. Shouldn&apos;t this just be:
&gt; 
&gt; for (var column in this.columns)
&gt;     emptyData[column] = &apos;&apos;;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>135483</commentid>
    <comment_count>9</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-07-28 21:55:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/46519</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32821</attachid>
            <date>2009-07-15 17:29:04 -0700</date>
            <delta_ts>2009-07-28 21:30:16 -0700</delta_ts>
            <desc>Make DOM Storage DataGrid More Interactive</desc>
            <filename>DOMStorageInteractiveDataGrid.patch</filename>
            <type>text/plain</type>
            <size>5648</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTk2MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMDktMDctMTUgIEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2swMkBn
bWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW5zcGVjdG9yOiBDcmVhdGUgTmV3IERPTSBTdG9yYWdlIEl0ZW1zIHZpYSBEYXRhR3JpZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjczMjIKKwor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZURhdGFHcmlkLmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUuX3N0YXJ0RWRp
dGluZyk6IGNsaWNrIGFueXdheSBtZWFucyBjcmVhdGlvbk5vZGUKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5ET01TdG9yYWdlRGF0YUdyaWQucHJvdG90eXBlLl9lZGl0aW5nQ29tbWl0dGVkKTogZml4
IHVuaW50ZW5kZWQgZ2xvYmFscworICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRh
R3JpZC5wcm90b3R5cGUuZGVsZXRlU2VsZWN0ZWRSb3cpOiBjcmVhdGlvbk5vZGUgaXMgc3BlY2lh
bCBjYXNlCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuYWRkQ3JlYXRpb25Ob2RlKTogbWFp
bnRhaW4gYSBxdWljayByZWYgdG8gdGhlIHNpbmdsZSBjcmVhdGlvbk5vZGUKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5DcmVhdGlvbkRhdGFHcmlkTm9kZSk6IG5ldyB0eXBlIG9mIG5vZGUKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DcmVhdGlvbkRhdGFHcmlkTm9kZS5wcm90b3R5cGUubWFrZU5vcm1h
bCk6IGNvbnZlcnQgdG8gYSBub3JtYWwgbm9kZQorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvRGF0YWJhc2VzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VzUGFu
ZWwucHJvdG90eXBlLmRhdGFHcmlkRm9yRE9NU3RvcmFnZSk6IGFkZCBhIGNyZWF0aW9uTm9kZSB0
byB0aGUgR3JpZERhdGEKKwogMjAwOS0wNy0xNSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgTGF5b3V0IHRlc3QgZml4LCByZXZlcnRpbmcgcHJldmlvdXMgY2hh
bmdlLgpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VEYXRhR3Jp
ZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFn
ZURhdGFHcmlkLmpzCShyZXZpc2lvbiA0NTk2MykKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01TdG9yYWdlRGF0YUdyaWQuanMJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDExICs0NCwx
OSBAQCBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkLnByb3RvdHlwCiAgICAgICAgIHZh
ciBlbGVtZW50ID0gZXZlbnQudGFyZ2V0LmVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWUo
InRkIik7CiAgICAgICAgIGlmICghZWxlbWVudCkKICAgICAgICAgICAgIHJldHVybjsKKwogICAg
ICAgICB0aGlzLl9lZGl0aW5nTm9kZSA9IHRoaXMuZGF0YUdyaWROb2RlRnJvbUV2ZW50KGV2ZW50
KTsKLSAgICAgICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkKLSAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkgeworICAgICAgICAgICAgaWYgKCF0aGlz
LmNyZWF0aW9uTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlz
Ll9lZGl0aW5nTm9kZSA9IHRoaXMuY3JlYXRpb25Ob2RlOworICAgICAgICB9CiAgICAgICAgIHRo
aXMuX2VkaXRpbmcgPSB0cnVlOwotICAgICAgICAgICAgCisKKyAgICAgICAgaWYgKHRoaXMuX2Vk
aXRpbmdOb2RlLmlzQ3JlYXRpb25Ob2RlKSB7CisgICAgICAgICAgICBlbGVtZW50ID0gdGhpcy5f
ZWRpdGluZ05vZGUuX2VsZW1lbnQuY2hpbGRyZW5bMF07IC8vIExlZnRtb3N0IENvbHVtbgorICAg
ICAgICB9CisKICAgICAgICAgV2ViSW5zcGVjdG9yLnN0YXJ0RWRpdGluZyhlbGVtZW50LCB0aGlz
Ll9lZGl0aW5nQ29tbWl0dGVkLmJpbmQodGhpcyksIHRoaXMuX2VkaXRpbmdDYW5jZWxsZWQuYmlu
ZCh0aGlzKSwgZWxlbWVudC50ZXh0Q29udGVudCk7CiAgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rp
b24oKS5zZXRCYXNlQW5kRXh0ZW50KGVsZW1lbnQsIDAsIGVsZW1lbnQsIDEpOwogICAgIH0sCkBA
IC01NiwxMCArNjQsMTAgQEAgV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5
cAogICAgIF9lZGl0aW5nQ29tbWl0dGVkOiBmdW5jdGlvbihlbGVtZW50LCBuZXdUZXh0KQogICAg
IHsKICAgICAgICAgaWYgKGVsZW1lbnQuaGFzU3R5bGVDbGFzcygiMC1jb2x1bW4iKSkKLSAgICAg
ICAgICAgIGNvbHVtbklkZW50aWZpZXIgPSAwOworICAgICAgICAgICAgdmFyIGNvbHVtbklkZW50
aWZpZXIgPSAwOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBjb2x1bW5JZGVudGlmaWVyID0g
MTsKLSAgICAgICAgdGV4dEJlZm9yZUVkaXRpbmcgPSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2Nv
bHVtbklkZW50aWZpZXJdOworICAgICAgICAgICAgdmFyIGNvbHVtbklkZW50aWZpZXIgPSAxOwor
ICAgICAgICB2YXIgdGV4dEJlZm9yZUVkaXRpbmcgPSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2Nv
bHVtbklkZW50aWZpZXJdOwogICAgICAgICBpZiAodGV4dEJlZm9yZUVkaXRpbmcgPT0gbmV3VGV4
dCkgewogICAgICAgICAgICAgdGhpcy5fZWRpdGluZ0NhbmNlbGxlZChlbGVtZW50KTsKICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTgxLDcgKzg5LDEwIEBAIFdlYkluc3BlY3Rvci5ET01TdG9yYWdl
RGF0YUdyaWQucHJvdG90eXAKICAgICAgICAgICAgICAgICB0aGlzLl9lZGl0aW5nTm9kZS5kYXRh
WzFdID0gbmV3VGV4dDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAKKworICAg
ICAgICBpZiAodGhpcy5fZWRpdGluZ05vZGUuaXNDcmVhdGlvbk5vZGUpCisgICAgICAgICAgICB0
aGlzLmFkZENyZWF0aW9uTm9kZShmYWxzZSk7CisKICAgICAgICAgdGhpcy5fZWRpdGluZ0NhbmNl
bGxlZChlbGVtZW50KTsKICAgICB9LAogICAgIApAQCAtOTQsNiArMTA1LDkgQEAgV2ViSW5zcGVj
dG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cAogICAgIGRlbGV0ZVNlbGVjdGVkUm93OiBm
dW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuc2VsZWN0ZWROb2RlOwor
ICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGUuaXNDcmVhdGlvbk5vZGUpCisgICAgICAgICAg
ICByZXR1cm47CisKICAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSBXZWJJbnNwZWN0b3IucGFuZWxz
LmRhdGFiYXNlcy52aXNpYmxlVmlldy5kb21TdG9yYWdlLmRvbVN0b3JhZ2U7CiAgICAgICAgIGlm
IChub2RlICYmIGRvbVN0b3JhZ2UpCiAgICAgICAgICAgICBkb21TdG9yYWdlLnJlbW92ZUl0ZW0o
bm9kZS5kYXRhWzBdKTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3Jp
ZC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YUdyaWQu
anMJKHJldmlzaW9uIDQ1OTYzKQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFH
cmlkLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xNjAsNiArMTYwLDE4IEBAIFdlYkluc3BlY3Rvci5E
YXRhR3JpZC5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGFUYWJsZUJv
ZHk7CiAgICAgfSwKKyAgICAKKyAgICBhZGRDcmVhdGlvbk5vZGU6IGZ1bmN0aW9uKGhhc0NoaWxk
cmVuKSB7CisgICAgICAgIGlmICh0aGlzLmNyZWF0aW9uTm9kZSkKKyAgICAgICAgICAgIHRoaXMu
Y3JlYXRpb25Ob2RlLm1ha2VOb3JtYWwoKTsKKworICAgICAgICB2YXIgZW1wdHlEYXRhID0ge307
CisgICAgICAgIHZhciBjbnQgPSAwOworICAgICAgICBmb3IgKHZhciBpIGluIHRoaXMuY29sdW1u
cykKKyAgICAgICAgICAgIGVtcHR5RGF0YVtjbnQrK10gPSAnJzsKKyAgICAgICAgdGhpcy5jcmVh
dGlvbk5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlKGVtcHR5RGF0
YSwgaGFzQ2hpbGRyZW4pOworICAgICAgICB0aGlzLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRpb25O
b2RlKTsKKyAgICB9LAogCiAgICAgYXBwZW5kQ2hpbGQ6IGZ1bmN0aW9uKGNoaWxkKQogICAgIHsK
QEAgLTg4MywzICs4OTUsMTkgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUg
PSB7CiB9CiAKIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlLl9fcHJvdG9fXyA9
IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworCitXZWJJbnNwZWN0b3IuQ3JlYXRpb25E
YXRhR3JpZE5vZGUgPSBmdW5jdGlvbihkYXRhLCBoYXNDaGlsZHJlbikKK3sKKyAgICBXZWJJbnNw
ZWN0b3IuRGF0YUdyaWROb2RlLmNhbGwodGhpcywgZGF0YSwgaGFzQ2hpbGRyZW4pOworICAgIHRo
aXMuaXNDcmVhdGlvbk5vZGUgPSB0cnVlOworfQorCitXZWJJbnNwZWN0b3IuQ3JlYXRpb25EYXRh
R3JpZE5vZGUucHJvdG90eXBlID0geworICAgIG1ha2VOb3JtYWw6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIGRlbGV0ZSB0aGlzLmlzQ3JlYXRpb25Ob2RlOworICAgICAgICBkZWxldGUgdGhp
cy5tYWtlTm9ybWFsOworICAgIH0KK30KKworV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWRO
b2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3Rv
dHlwZTsKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZXNQYW5lbC5q
cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VzUGFu
ZWwuanMJKHJldmlzaW9uIDQ1OTYzKQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Rh
dGFiYXNlc1BhbmVsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zNjUsNiArMzY1LDcgQEAgV2ViSW5z
cGVjdG9yLkRhdGFiYXNlc1BhbmVsLnByb3RvdHlwZSA9IAogICAgICAgICB2YXIgbGVuZ3RoID0g
bm9kZXMubGVuZ3RoOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQog
ICAgICAgICAgICAgZGF0YUdyaWQuYXBwZW5kQ2hpbGQobm9kZXNbaV0pOworICAgICAgICBkYXRh
R3JpZC5hZGRDcmVhdGlvbk5vZGUoZmFsc2UpOwogICAgICAgICBpZiAobGVuZ3RoID4gMCkKICAg
ICAgICAgICAgIG5vZGVzWzBdLnNlbGVjdGVkID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuIGRhdGFH
cmlkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33577</attachid>
            <date>2009-07-27 15:40:56 -0700</date>
            <delta_ts>2009-07-28 21:38:46 -0700</delta_ts>
            <desc>Make DOM Storage DataGrid More Interactive</desc>
            <filename>CreationNodeInDataGrid.patch</filename>
            <type>text/plain</type>
            <size>6124</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWZhNmY2Zi4uNzI2OTcxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMyBAQAogMjAwOS0wNy0yNyAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3I6IENyZWF0ZSBOZXcgRE9NIFN0b3JhZ2UgSXRl
bXMgdmlhIERhdGFHcmlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNzMyMgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdl
RGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkLnBy
b3RvdHlwZS5fc3RhcnRFZGl0aW5nKTogY2xpY2sgYW55d2F5IG1lYW5zIGNyZWF0aW9uTm9kZQor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUuX2VkaXRp
bmdDb21taXR0ZWQpOiBmaXggdW5pbnRlbmRlZCBnbG9iYWxzCisgICAgICAgIChXZWJJbnNwZWN0
b3IuRE9NU3RvcmFnZURhdGFHcmlkLnByb3RvdHlwZS5kZWxldGVTZWxlY3RlZFJvdyk6IGNyZWF0
aW9uTm9kZSBpcyBzcGVjaWFsIGNhc2UKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Rh
dGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5hZGRD
cmVhdGlvbk5vZGUpOiBtYWludGFpbiBhIHF1aWNrIHJlZiB0byB0aGUgc2luZ2xlIGNyZWF0aW9u
Tm9kZQorICAgICAgICAoV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlKTogbmV3IHR5
cGUgb2Ygbm9kZQorICAgICAgICAoV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlLnBy
b3RvdHlwZS5tYWtlTm9ybWFsKTogY29udmVydCB0byBhIG5vcm1hbCBub2RlCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EYXRhYmFzZXNQYW5lbC5wcm90b3R5cGUuZGF0YUdyaWRGb3JET01TdG9yYWdlKTogYWRk
IGEgY3JlYXRpb25Ob2RlIHRvIHRoZSBHcmlkRGF0YQorCisyMDA5LTA3LTI3ICBKb3NlcGggUGVj
b3Jhcm8gIDxqb2VwZWNrMDJAZ21haWwuY29tPgorCiAgICAgICAgIEluc3BlY3RvcjogVGFiIFRo
cm91Z2ggRWxlbWVudCBBdHRyaWJ1dGVzIGFuZCBDU1MgUHJvcGVydGllcyBXaGVuIEVkaXRpbmcK
IAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjc2NzMK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlRGF0YUdy
aWQuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZURhdGFHcmlkLmpz
CmluZGV4IDk5NDY0MTUuLjUwNGNjMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9ET01TdG9yYWdlRGF0YUdyaWQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTVN0b3JhZ2VEYXRhR3JpZC5qcwpAQCAtMzgsMzMgKzM4LDM5IEBAIFdlYkluc3Bl
Y3Rvci5ET01TdG9yYWdlRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQpOwogICAgIH0sCi0gICAgCisKICAg
ICBfc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZhciBlbGVt
ZW50ID0gZXZlbnQudGFyZ2V0LmVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWUoInRkIik7
CiAgICAgICAgIGlmICghZWxlbWVudCkKICAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB0
aGlzLl9lZGl0aW5nTm9kZSA9IHRoaXMuZGF0YUdyaWROb2RlRnJvbUV2ZW50KGV2ZW50KTsKLSAg
ICAgICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkgeworICAgICAgICAgICAgaWYgKCF0aGlzLmNyZWF0
aW9uTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9lZGl0
aW5nTm9kZSA9IHRoaXMuY3JlYXRpb25Ob2RlOworICAgICAgICB9CiAgICAgICAgIHRoaXMuX2Vk
aXRpbmcgPSB0cnVlOwotICAgICAgICAgICAgCisKKyAgICAgICAgaWYgKHRoaXMuX2VkaXRpbmdO
b2RlLmlzQ3JlYXRpb25Ob2RlKSB7CisgICAgICAgICAgICB0aGlzLl9lZGl0aW5nTm9kZS5zZWxl
Y3QoKTsKKyAgICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLl9lZGl0aW5nTm9kZS5fZWxlbWVudC5j
aGlsZHJlblswXTsgLy8gQ3JlYXRlIGEgbmV3IG5vZGUgYnkgcHJvdmlkaW5nIGEgS2V5IEZpcnN0
CisgICAgICAgIH0KKwogICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKGVsZW1lbnQs
IHRoaXMuX2VkaXRpbmdDb21taXR0ZWQuYmluZCh0aGlzKSwgdGhpcy5fZWRpdGluZ0NhbmNlbGxl
ZC5iaW5kKHRoaXMpLCBlbGVtZW50LnRleHRDb250ZW50KTsKICAgICAgICAgd2luZG93LmdldFNl
bGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoZWxlbWVudCwgMCwgZWxlbWVudCwgMSk7CiAgICAg
fSwKLSAgICAKKwogICAgIF9lZGl0aW5nQ29tbWl0dGVkOiBmdW5jdGlvbihlbGVtZW50LCBuZXdU
ZXh0KQogICAgIHsKLSAgICAgICAgaWYgKGVsZW1lbnQuaGFzU3R5bGVDbGFzcygiMC1jb2x1bW4i
KSkKLSAgICAgICAgICAgIGNvbHVtbklkZW50aWZpZXIgPSAwOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBjb2x1bW5JZGVudGlmaWVyID0gMTsKLSAgICAgICAgdGV4dEJlZm9yZUVkaXRpbmcg
PSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2NvbHVtbklkZW50aWZpZXJdOworICAgICAgICB2YXIg
Y29sdW1uSWRlbnRpZmllciA9IChlbGVtZW50Lmhhc1N0eWxlQ2xhc3MoIjAtY29sdW1uIikgPyAw
IDogMSk7CisgICAgICAgIHZhciB0ZXh0QmVmb3JlRWRpdGluZyA9IHRoaXMuX2VkaXRpbmdOb2Rl
LmRhdGFbY29sdW1uSWRlbnRpZmllcl07CiAgICAgICAgIGlmICh0ZXh0QmVmb3JlRWRpdGluZyA9
PSBuZXdUZXh0KSB7CiAgICAgICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1lbnQp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIHZh
ciBkb21TdG9yYWdlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5kYXRhYmFzZXMudmlzaWJsZVZpZXcu
ZG9tU3RvcmFnZS5kb21TdG9yYWdlOwogICAgICAgICBpZiAoZG9tU3RvcmFnZSkgewogICAgICAg
ICAgICAgaWYgKGNvbHVtbklkZW50aWZpZXIgPT0gMCkgewpAQCAtODEsMTkgKzg3LDI1IEBAIFdl
Ykluc3BlY3Rvci5ET01TdG9yYWdlRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICAgICAg
ICAgIHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMV0gPSBuZXdUZXh0OwogICAgICAgICAgICAgfQog
ICAgICAgICB9Ci0gICAgICAgIAorCisgICAgICAgIGlmICh0aGlzLl9lZGl0aW5nTm9kZS5pc0Ny
ZWF0aW9uTm9kZSkKKyAgICAgICAgICAgIHRoaXMuYWRkQ3JlYXRpb25Ob2RlKGZhbHNlKTsKKwog
ICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1lbnQpOwogICAgIH0sCi0gICAgCisK
ICAgICBfZWRpdGluZ0NhbmNlbGxlZDogZnVuY3Rpb24oZWxlbWVudCwgY29udGV4dCkKICAgICB7
CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9lZGl0aW5nOwogICAgICAgICB0aGlzLl9lZGl0aW5nTm9k
ZSA9IG51bGw7CiAgICAgfSwKLSAgICAKKwogICAgIGRlbGV0ZVNlbGVjdGVkUm93OiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuc2VsZWN0ZWROb2RlOworICAgICAg
ICBpZiAodGhpcy5zZWxlY3RlZE5vZGUuaXNDcmVhdGlvbk5vZGUpCisgICAgICAgICAgICByZXR1
cm47CisKICAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmRhdGFi
YXNlcy52aXNpYmxlVmlldy5kb21TdG9yYWdlLmRvbVN0b3JhZ2U7CiAgICAgICAgIGlmIChub2Rl
ICYmIGRvbVN0b3JhZ2UpCiAgICAgICAgICAgICBkb21TdG9yYWdlLnJlbW92ZUl0ZW0obm9kZS5k
YXRhWzBdKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3Jp
ZC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcwppbmRleCAyZmNi
MDhjLi4xZDEwOGU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0
YUdyaWQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCkBA
IC0xNjEsNiArMTYxLDE5IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9kYXRhVGFibGVCb2R5OwogICAgIH0sCiAKKyAgICBhZGRDcmVh
dGlvbk5vZGU6IGZ1bmN0aW9uKGhhc0NoaWxkcmVuKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMu
Y3JlYXRpb25Ob2RlKQorICAgICAgICAgICAgdGhpcy5jcmVhdGlvbk5vZGUubWFrZU5vcm1hbCgp
OworCisgICAgICAgIHZhciBlbXB0eURhdGEgPSB7fTsKKyAgICAgICAgdmFyIGNudCA9IDA7Cisg
ICAgICAgIGZvciAodmFyIGkgaW4gdGhpcy5jb2x1bW5zKQorICAgICAgICAgICAgZW1wdHlEYXRh
W2NudCsrXSA9ICcnOworICAgICAgICB0aGlzLmNyZWF0aW9uTm9kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuQ3JlYXRpb25EYXRhR3JpZE5vZGUoZW1wdHlEYXRhLCBoYXNDaGlsZHJlbik7CisgICAgICAg
IHRoaXMuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGlvbk5vZGUpOworICAgIH0sCisKICAgICBhcHBl
bmRDaGlsZDogZnVuY3Rpb24oY2hpbGQpCiAgICAgewogICAgICAgICB0aGlzLmluc2VydENoaWxk
KGNoaWxkLCB0aGlzLmNoaWxkcmVuLmxlbmd0aCk7CkBAIC04ODMsMyArODk2LDE5IEBAIFdlYklu
c3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogfQogCiBXZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuT2JqZWN0LnByb3Rv
dHlwZTsKKworV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlID0gZnVuY3Rpb24oZGF0
YSwgaGFzQ2hpbGRyZW4pCit7CisgICAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5jYWxsKHRo
aXMsIGRhdGEsIGhhc0NoaWxkcmVuKTsKKyAgICB0aGlzLmlzQ3JlYXRpb25Ob2RlID0gdHJ1ZTsK
K30KKworV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKKyAg
ICBtYWtlTm9ybWFsOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBkZWxldGUgdGhpcy5pc0Ny
ZWF0aW9uTm9kZTsKKyAgICAgICAgZGVsZXRlIHRoaXMubWFrZU5vcm1hbDsKKyAgICB9Cit9CisK
K1dlYkluc3BlY3Rvci5DcmVhdGlvbkRhdGFHcmlkTm9kZS5wcm90b3R5cGUuX19wcm90b19fID0g
V2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGU7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VzUGFuZWwuanMgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRGF0YWJhc2VzUGFuZWwuanMKaW5kZXggYjFkODE1Zi4uMjc5ZWJmMCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlc1BhbmVsLmpzCisr
KyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZXNQYW5lbC5qcwpAQCAtMzY1
LDYgKzM2NSw3IEBAIFdlYkluc3BlY3Rvci5EYXRhYmFzZXNQYW5lbC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHZhciBsZW5ndGggPSBub2Rlcy5sZW5ndGg7CiAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbGVuZ3RoOyArK2kpCiAgICAgICAgICAgICBkYXRhR3JpZC5hcHBlbmRDaGlsZChub2Rl
c1tpXSk7CisgICAgICAgIGRhdGFHcmlkLmFkZENyZWF0aW9uTm9kZShmYWxzZSk7CiAgICAgICAg
IGlmIChsZW5ndGggPiAwKQogICAgICAgICAgICAgbm9kZXNbMF0uc2VsZWN0ZWQgPSB0cnVlOwog
ICAgICAgICByZXR1cm4gZGF0YUdyaWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33689</attachid>
            <date>2009-07-28 21:38:46 -0700</date>
            <delta_ts>2009-07-28 21:47:32 -0700</delta_ts>
            <desc>Fixed the Loop</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>6051</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZWZhNmY2Zi4uNzZhZjkwZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAwOS0wNy0yOCAgSm9zZXBoIFBlY29y
YXJvICA8am9lcGVjazAyQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbnNwZWN0b3I6IENyZWF0ZSBOZXcgRE9NIFN0b3JhZ2UgSXRl
bXMgdmlhIERhdGFHcmlkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yNzMyMgorCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdl
RGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkLnBy
b3RvdHlwZS5fc3RhcnRFZGl0aW5nKTogY2xpY2sgYW55d2F5IG1lYW5zIGNyZWF0aW9uTm9kZQor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUuX2VkaXRp
bmdDb21taXR0ZWQpOiBmaXggdW5pbnRlbmRlZCBnbG9iYWxzCisgICAgICAgIChXZWJJbnNwZWN0
b3IuRE9NU3RvcmFnZURhdGFHcmlkLnByb3RvdHlwZS5kZWxldGVTZWxlY3RlZFJvdyk6IGNyZWF0
aW9uTm9kZSBpcyBzcGVjaWFsIGNhc2UKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0Rh
dGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5hZGRD
cmVhdGlvbk5vZGUpOiBtYWludGFpbiBhIHF1aWNrIHJlZiB0byB0aGUgc2luZ2xlIGNyZWF0aW9u
Tm9kZQorICAgICAgICAoV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlKTogbmV3IHR5
cGUgb2Ygbm9kZQorICAgICAgICAoV2ViSW5zcGVjdG9yLkNyZWF0aW9uRGF0YUdyaWROb2RlLnBy
b3RvdHlwZS5tYWtlTm9ybWFsKTogY29udmVydCB0byBhIG5vcm1hbCBub2RlCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EYXRhYmFzZXNQYW5lbC5wcm90b3R5cGUuZGF0YUdyaWRGb3JET01TdG9yYWdlKTogYWRk
IGEgY3JlYXRpb25Ob2RlIHRvIHRoZSBHcmlkRGF0YQorCiAyMDA5LTA3LTI3ICBKb3NlcGggUGVj
b3Jhcm8gIDxqb2VwZWNrMDJAZ21haWwuY29tPgogCiAgICAgICAgIEluc3BlY3RvcjogVGFiIFRo
cm91Z2ggRWxlbWVudCBBdHRyaWJ1dGVzIGFuZCBDU1MgUHJvcGVydGllcyBXaGVuIEVkaXRpbmcK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01TdG9yYWdlRGF0YUdy
aWQuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZURhdGFHcmlkLmpz
CmluZGV4IDk5NDY0MTUuLjUwNGNjMmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9ET01TdG9yYWdlRGF0YUdyaWQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTVN0b3JhZ2VEYXRhR3JpZC5qcwpAQCAtMzgsMzMgKzM4LDM5IEBAIFdlYkluc3Bl
Y3Rvci5ET01TdG9yYWdlRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQpOwogICAgIH0sCi0gICAgCisKICAg
ICBfc3RhcnRFZGl0aW5nOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZhciBlbGVt
ZW50ID0gZXZlbnQudGFyZ2V0LmVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWUoInRkIik7
CiAgICAgICAgIGlmICghZWxlbWVudCkKICAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICB0
aGlzLl9lZGl0aW5nTm9kZSA9IHRoaXMuZGF0YUdyaWROb2RlRnJvbUV2ZW50KGV2ZW50KTsKLSAg
ICAgICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkgeworICAgICAgICAgICAgaWYgKCF0aGlzLmNyZWF0
aW9uTm9kZSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB0aGlzLl9lZGl0
aW5nTm9kZSA9IHRoaXMuY3JlYXRpb25Ob2RlOworICAgICAgICB9CiAgICAgICAgIHRoaXMuX2Vk
aXRpbmcgPSB0cnVlOwotICAgICAgICAgICAgCisKKyAgICAgICAgaWYgKHRoaXMuX2VkaXRpbmdO
b2RlLmlzQ3JlYXRpb25Ob2RlKSB7CisgICAgICAgICAgICB0aGlzLl9lZGl0aW5nTm9kZS5zZWxl
Y3QoKTsKKyAgICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLl9lZGl0aW5nTm9kZS5fZWxlbWVudC5j
aGlsZHJlblswXTsgLy8gQ3JlYXRlIGEgbmV3IG5vZGUgYnkgcHJvdmlkaW5nIGEgS2V5IEZpcnN0
CisgICAgICAgIH0KKwogICAgICAgICBXZWJJbnNwZWN0b3Iuc3RhcnRFZGl0aW5nKGVsZW1lbnQs
IHRoaXMuX2VkaXRpbmdDb21taXR0ZWQuYmluZCh0aGlzKSwgdGhpcy5fZWRpdGluZ0NhbmNlbGxl
ZC5iaW5kKHRoaXMpLCBlbGVtZW50LnRleHRDb250ZW50KTsKICAgICAgICAgd2luZG93LmdldFNl
bGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoZWxlbWVudCwgMCwgZWxlbWVudCwgMSk7CiAgICAg
fSwKLSAgICAKKwogICAgIF9lZGl0aW5nQ29tbWl0dGVkOiBmdW5jdGlvbihlbGVtZW50LCBuZXdU
ZXh0KQogICAgIHsKLSAgICAgICAgaWYgKGVsZW1lbnQuaGFzU3R5bGVDbGFzcygiMC1jb2x1bW4i
KSkKLSAgICAgICAgICAgIGNvbHVtbklkZW50aWZpZXIgPSAwOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBjb2x1bW5JZGVudGlmaWVyID0gMTsKLSAgICAgICAgdGV4dEJlZm9yZUVkaXRpbmcg
PSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2NvbHVtbklkZW50aWZpZXJdOworICAgICAgICB2YXIg
Y29sdW1uSWRlbnRpZmllciA9IChlbGVtZW50Lmhhc1N0eWxlQ2xhc3MoIjAtY29sdW1uIikgPyAw
IDogMSk7CisgICAgICAgIHZhciB0ZXh0QmVmb3JlRWRpdGluZyA9IHRoaXMuX2VkaXRpbmdOb2Rl
LmRhdGFbY29sdW1uSWRlbnRpZmllcl07CiAgICAgICAgIGlmICh0ZXh0QmVmb3JlRWRpdGluZyA9
PSBuZXdUZXh0KSB7CiAgICAgICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1lbnQp
OwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIAorCiAgICAgICAgIHZh
ciBkb21TdG9yYWdlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5kYXRhYmFzZXMudmlzaWJsZVZpZXcu
ZG9tU3RvcmFnZS5kb21TdG9yYWdlOwogICAgICAgICBpZiAoZG9tU3RvcmFnZSkgewogICAgICAg
ICAgICAgaWYgKGNvbHVtbklkZW50aWZpZXIgPT0gMCkgewpAQCAtODEsMTkgKzg3LDI1IEBAIFdl
Ykluc3BlY3Rvci5ET01TdG9yYWdlRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICAgICAg
ICAgIHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMV0gPSBuZXdUZXh0OwogICAgICAgICAgICAgfQog
ICAgICAgICB9Ci0gICAgICAgIAorCisgICAgICAgIGlmICh0aGlzLl9lZGl0aW5nTm9kZS5pc0Ny
ZWF0aW9uTm9kZSkKKyAgICAgICAgICAgIHRoaXMuYWRkQ3JlYXRpb25Ob2RlKGZhbHNlKTsKKwog
ICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1lbnQpOwogICAgIH0sCi0gICAgCisK
ICAgICBfZWRpdGluZ0NhbmNlbGxlZDogZnVuY3Rpb24oZWxlbWVudCwgY29udGV4dCkKICAgICB7
CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9lZGl0aW5nOwogICAgICAgICB0aGlzLl9lZGl0aW5nTm9k
ZSA9IG51bGw7CiAgICAgfSwKLSAgICAKKwogICAgIGRlbGV0ZVNlbGVjdGVkUm93OiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuc2VsZWN0ZWROb2RlOworICAgICAg
ICBpZiAodGhpcy5zZWxlY3RlZE5vZGUuaXNDcmVhdGlvbk5vZGUpCisgICAgICAgICAgICByZXR1
cm47CisKICAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSBXZWJJbnNwZWN0b3IucGFuZWxzLmRhdGFi
YXNlcy52aXNpYmxlVmlldy5kb21TdG9yYWdlLmRvbVN0b3JhZ2U7CiAgICAgICAgIGlmIChub2Rl
ICYmIGRvbVN0b3JhZ2UpCiAgICAgICAgICAgICBkb21TdG9yYWdlLnJlbW92ZUl0ZW0obm9kZS5k
YXRhWzBdKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3Jp
ZC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhR3JpZC5qcwppbmRleCAyZmNi
MDhjLi5kMmNlZjhjIDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0
YUdyaWQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFHcmlkLmpzCkBA
IC0xNjEsNiArMTYxLDE4IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHJldHVybiB0aGlzLl9kYXRhVGFibGVCb2R5OwogICAgIH0sCiAKKyAgICBhZGRDcmVh
dGlvbk5vZGU6IGZ1bmN0aW9uKGhhc0NoaWxkcmVuKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMu
Y3JlYXRpb25Ob2RlKQorICAgICAgICAgICAgdGhpcy5jcmVhdGlvbk5vZGUubWFrZU5vcm1hbCgp
OworCisgICAgICAgIHZhciBlbXB0eURhdGEgPSB7fTsKKyAgICAgICAgZm9yICh2YXIgY29sdW1u
IGluIHRoaXMuY29sdW1ucykKKyAgICAgICAgICAgIGVtcHR5RGF0YVtjb2x1bW5dID0gJyc7Cisg
ICAgICAgIHRoaXMuY3JlYXRpb25Ob2RlID0gbmV3IFdlYkluc3BlY3Rvci5DcmVhdGlvbkRhdGFH
cmlkTm9kZShlbXB0eURhdGEsIGhhc0NoaWxkcmVuKTsKKyAgICAgICAgdGhpcy5hcHBlbmRDaGls
ZCh0aGlzLmNyZWF0aW9uTm9kZSk7CisgICAgfSwKKwogICAgIGFwcGVuZENoaWxkOiBmdW5jdGlv
bihjaGlsZCkKICAgICB7CiAgICAgICAgIHRoaXMuaW5zZXJ0Q2hpbGQoY2hpbGQsIHRoaXMuY2hp
bGRyZW4ubGVuZ3RoKTsKQEAgLTg4MywzICs4OTUsMTkgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlk
Tm9kZS5wcm90b3R5cGUgPSB7CiB9CiAKIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90
eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5PYmplY3QucHJvdG90eXBlOworCitXZWJJbnNw
ZWN0b3IuQ3JlYXRpb25EYXRhR3JpZE5vZGUgPSBmdW5jdGlvbihkYXRhLCBoYXNDaGlsZHJlbikK
K3sKKyAgICBXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLmNhbGwodGhpcywgZGF0YSwgaGFzQ2hp
bGRyZW4pOworICAgIHRoaXMuaXNDcmVhdGlvbk5vZGUgPSB0cnVlOworfQorCitXZWJJbnNwZWN0
b3IuQ3JlYXRpb25EYXRhR3JpZE5vZGUucHJvdG90eXBlID0geworICAgIG1ha2VOb3JtYWw6IGZ1
bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGRlbGV0ZSB0aGlzLmlzQ3JlYXRpb25Ob2RlOworICAg
ICAgICBkZWxldGUgdGhpcy5tYWtlTm9ybWFsOworICAgIH0KK30KKworV2ViSW5zcGVjdG9yLkNy
ZWF0aW9uRGF0YUdyaWROb2RlLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlLnByb3RvdHlwZTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9EYXRhYmFzZXNQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRh
YmFzZXNQYW5lbC5qcwppbmRleCBiMWQ4MTVmLi4yNzllYmYwIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlc1BhbmVsLmpzCkBAIC0zNjUsNiArMzY1LDcgQEAgV2Vi
SW5zcGVjdG9yLkRhdGFiYXNlc1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGxlbmd0
aCA9IG5vZGVzLmxlbmd0aDsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7ICsr
aSkKICAgICAgICAgICAgIGRhdGFHcmlkLmFwcGVuZENoaWxkKG5vZGVzW2ldKTsKKyAgICAgICAg
ZGF0YUdyaWQuYWRkQ3JlYXRpb25Ob2RlKGZhbHNlKTsKICAgICAgICAgaWYgKGxlbmd0aCA+IDAp
CiAgICAgICAgICAgICBub2Rlc1swXS5zZWxlY3RlZCA9IHRydWU7CiAgICAgICAgIHJldHVybiBk
YXRhR3JpZDsK
</data>
<flag name="review"
          id="17910"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>