<?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>127613</bug_id>
          
          <creation_ts>2014-01-25 00:39:46 -0800</creation_ts>
          <short_desc>Web Inspector: In a DataGrid, store value of columnIdentifier to DOM node representing a cell</short_desc>
          <delta_ts>2014-01-28 07:35:56 -0800</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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Diego Pino">dpino</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>971915</commentid>
    <comment_count>0</comment_count>
    <who name="Diego Pino">dpino</who>
    <bug_when>2014-01-25 00:39:46 -0800</bug_when>
    <thetext>Currently, cell DOM nodes of a DataGrid store the value of a &apos;columnIdentifier&apos; in the &apos;class&apos; attribute. This requires later parsing of attribute &apos;class&apos; to know the value of &apos;columnIdentifier&apos;. HTML5 provides a proper way to store custom attributes to a DOM node, which is by using the &apos;dataset&apos; attribute. 

https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset

Storing &apos;columnIdentifier&apos; as a dataset attribute won&apos;t require later parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971916</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-25 00:40:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/15908787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971920</commentid>
    <comment_count>2</comment_count>
      <attachid>222197</attachid>
    <who name="Diego Pino">dpino</who>
    <bug_when>2014-01-25 00:48:07 -0800</bug_when>
    <thetext>Created attachment 222197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971963</commentid>
    <comment_count>3</comment_count>
      <attachid>222197</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-25 09:31:28 -0800</bug_when>
    <thetext>Comment on attachment 222197
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=222197&amp;action=review

r- because I think it breaks styles. But make it so you set classname and dataset attribute, and it is good!

&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:88
&gt; -        cell.className = columnIdentifier + &quot;-column&quot;;
&gt; +        cell.dataset[&quot;columnIdentifier&quot;] = columnIdentifier;

I think we will need to set the class name for styles. There are a lot of CSS instances of &quot;&lt;foo&gt;-column&quot;:

    shell&gt; ack &quot;\-column&quot; *.css
    DOMTreeDataGrid.css
    62:.dom-tree-data-grid .data-container .name-column {
    66:.dom-tree-data-grid .data-container .name-column .icon {
    74:.dom-tree-data-grid .data-container .name-column .label {
    83:.dom-tree-data-grid .data-container tr:hover .name-column .label {

    DetailsSection.css
    251:.details-section &gt; .content .data-grid td.value-column {
    257:.details-section &gt; .content .data-grid td.value-column &gt; div {
    ...

&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:155
&gt; -        td.className = columnIdentifier + &quot;-column&quot;;
&gt; +        td.dataset[&quot;columnIdentifier&quot;] = columnIdentifier;

Same here.

&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:346
&gt; -        // FIXME: Better way to do this than regular expressions?
&gt; -        var columnIdentifier = parseInt(element.className.match(/\b(\d+)-column\b/)[1], 10);
&gt; +        var columnIdentifier = element.dataset[&quot;columnIdentifier&quot;];

This looks great though!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971967</commentid>
    <comment_count>4</comment_count>
      <attachid>222197</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-01-25 09:36:38 -0800</bug_when>
    <thetext>Comment on attachment 222197
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=222197&amp;action=review

I agree with Joe. We need the className for style reasons. I am also not a fan of dataset. There is no reason to use a DOM attribute for internal logic. I would just set cell.__columnIdentifier and use it later.

&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:903
&gt; -                // The first child of the selected element is the &lt;td class=&quot;0-column&quot;&gt;,
&gt; +                // The first child of the selected element is the &lt;td data-columnIdentifier=&quot;0&quot;&gt;,

The original comment is not correct, the column identifier is not usually a number, it is a arbitrary string. Just remove this comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>971968</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-01-25 09:39:43 -0800</bug_when>
    <thetext>Lets not use dataset. Using the DOM for this is expensive. A private property on the DOM element is good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972043</commentid>
    <comment_count>6</comment_count>
      <attachid>222234</attachid>
    <who name="Diego Pino">dpino</who>
    <bug_when>2014-01-25 14:38:06 -0800</bug_when>
    <thetext>Created attachment 222234
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972086</commentid>
    <comment_count>7</comment_count>
      <attachid>222234</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-25 16:49:59 -0800</bug_when>
    <thetext>Comment on attachment 222234
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=222234&amp;action=review

r=me

&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:156
&gt; +        td.columnIdentifier = columnIdentifier;

As Tim suggested, we should use &quot;__columnIdentifier&quot;.

We typically use &quot;__foo&quot; syntax for property names when one class is storing properties on another object, and that other object has no knowledge of the existence of that property. Though &quot;.columnIdentifier&quot; works, it is not immediately clear if you&apos;re debugging this element that the property is something we injected onto the element. And having it show up as obvious in the debugger can sometimes be helpful! Also, if in the further that object wanted to add a &quot;columnIdentifier&quot; property then the double underscore would avoid a naming conflict.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972656</commentid>
    <comment_count>8</comment_count>
      <attachid>222378</attachid>
    <who name="Diego Pino">dpino</who>
    <bug_when>2014-01-27 16:22:51 -0800</bug_when>
    <thetext>Created attachment 222378
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972664</commentid>
    <comment_count>9</comment_count>
      <attachid>222378</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-27 16:38:33 -0800</bug_when>
    <thetext>Comment on attachment 222378
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=222378&amp;action=review

&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:156
&gt; +        td.__columnIdentifier = parseInt(columnIdentifier);

Whoa, there is a parseInt now? Can&apos;t columnIdentifier be a string like &quot;name&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972726</commentid>
    <comment_count>10</comment_count>
      <attachid>222378</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-01-27 18:11:09 -0800</bug_when>
    <thetext>Comment on attachment 222378
Patch

Yeah, parseInt is not correct. The old code had it in a different spot and it was wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972814</commentid>
    <comment_count>11</comment_count>
      <attachid>222378</attachid>
    <who name="Diego Pino">dpino</who>
    <bug_when>2014-01-28 00:11:32 -0800</bug_when>
    <thetext>Comment on attachment 222378
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=222378&amp;action=review

&gt;&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:156
&gt;&gt; +        td.__columnIdentifier = parseInt(columnIdentifier);
&gt; 
&gt; Whoa, there is a parseInt now? Can&apos;t columnIdentifier be a string like &quot;name&quot;?

I noticed that __columnIdentifier has to be &quot;numeric&quot;. If __columnIdentifier is a &quot;string&quot;, there&apos;s a regression. When I try the following:

   * double-click on a &quot;Key&quot; column 
   * Insert a value, for instance &quot;Key1&quot;
   * Press return

The result is stored in the key column as &quot;Key1&quot; but it&apos;s also stored in the value column as &quot;Key1&quot;. This is not correct.

In the original code, parseInt was used in &quot;_editingCommited&quot; and &quot;_contextMenuInDataTable&quot; for casting the value of columnIdentifier after retrieving that value from a regular expression.

var columnIdentifier = parseInt(element.className.match(/\b(\d+)-column\b/)[1], 10);

Since there is going to be a field for storing columnIdentifier I thought it was better to store that field as numeric, instead of casting it everytime &quot;_editingCommited&quot; and &quot;_contextMenuInDataTable&quot; were called.

Still, why columnIdentifier has to be numeric? If __columnIdentifier is a string, function &quot;_contextMenuInDataTable&quot; works well. The problem is in function &quot;_editingCommited&quot;. _editingCommited calls this._editCallback. _editCallback (DOMStorageContentView.js:215) does a strict comparison of the value of columnIdentifier.

_editingCallback: function(editingNode, columnIdentifier, oldText, newText)
{
    var domStorage = this.representedObject;
    if (columnIdentifier === 0) {
        if (oldText)
            domStorage.removeItem(oldText);

        domStorage.setItem(newText, editingNode.data[1]);
    } else
        domStorage.setItem(editingNode.data[0], newText);

    this.update();
}

If columnIdentifier is a &quot;string&quot; the else branch is always executed (it updates the value of the value column). That&apos;s why in the use-case explained above, when updating a key the key column gets updated (visually) and the value column gets updated too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972820</commentid>
    <comment_count>12</comment_count>
      <attachid>222378</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-01-28 00:29:15 -0800</bug_when>
    <thetext>Comment on attachment 222378
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=222378&amp;action=review

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/DataGrid.js:156
&gt;&gt;&gt; +        td.__columnIdentifier = parseInt(columnIdentifier);
&gt;&gt; 
&gt;&gt; Whoa, there is a parseInt now? Can&apos;t columnIdentifier be a string like &quot;name&quot;?
&gt; 
&gt; I noticed that __columnIdentifier has to be &quot;numeric&quot;. If __columnIdentifier is a &quot;string&quot;, there&apos;s a regression. When I try the following:
&gt; 
&gt;    * double-click on a &quot;Key&quot; column 
&gt;    * Insert a value, for instance &quot;Key1&quot;
&gt;    * Press return
&gt; 
&gt; The result is stored in the key column as &quot;Key1&quot; but it&apos;s also stored in the value column as &quot;Key1&quot;. This is not correct.
&gt; 
&gt; In the original code, parseInt was used in &quot;_editingCommited&quot; and &quot;_contextMenuInDataTable&quot; for casting the value of columnIdentifier after retrieving that value from a regular expression.
&gt; 
&gt; var columnIdentifier = parseInt(element.className.match(/\b(\d+)-column\b/)[1], 10);
&gt; 
&gt; Since there is going to be a field for storing columnIdentifier I thought it was better to store that field as numeric, instead of casting it everytime &quot;_editingCommited&quot; and &quot;_contextMenuInDataTable&quot; were called.
&gt; 
&gt; Still, why columnIdentifier has to be numeric? If __columnIdentifier is a string, function &quot;_contextMenuInDataTable&quot; works well. The problem is in function &quot;_editingCommited&quot;. _editingCommited calls this._editCallback. _editCallback (DOMStorageContentView.js:215) does a strict comparison of the value of columnIdentifier.
&gt; 
&gt; _editingCallback: function(editingNode, columnIdentifier, oldText, newText)
&gt; {
&gt;     var domStorage = this.representedObject;
&gt;     if (columnIdentifier === 0) {
&gt;         if (oldText)
&gt;             domStorage.removeItem(oldText);
&gt; 
&gt;         domStorage.setItem(newText, editingNode.data[1]);
&gt;     } else
&gt;         domStorage.setItem(editingNode.data[0], newText);
&gt; 
&gt;     this.update();
&gt; }
&gt; 
&gt; If columnIdentifier is a &quot;string&quot; the else branch is always executed (it updates the value of the value column). That&apos;s why in the use-case explained above, when updating a key the key column gets updated (visually) and the value column gets updated too.

Good catch! But DOMStorageContentView.js is the one that should change. Making the 0s and 1s be &quot;0&quot; and &quot;1&quot; would be fine to fix in this patch. Ideally, DOMStorageContentView.js would use identifiers like &quot;key&quot; and &quot;value&quot; instead of numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972875</commentid>
    <comment_count>13</comment_count>
      <attachid>222430</attachid>
    <who name="Diego Pino">dpino</who>
    <bug_when>2014-01-28 04:56:51 -0800</bug_when>
    <thetext>Created attachment 222430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972908</commentid>
    <comment_count>14</comment_count>
      <attachid>222430</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 07:35:53 -0800</bug_when>
    <thetext>Comment on attachment 222430
Patch

Clearing flags on attachment: 222430

Committed r162931: &lt;http://trac.webkit.org/changeset/162931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972909</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-28 07:35:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222197</attachid>
            <date>2014-01-25 00:48:07 -0800</date>
            <delta_ts>2014-01-25 14:37:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127613-20140125094806.patch</filename>
            <type>text/plain</type>
            <size>4354</size>
            <attacher name="Diego Pino">dpino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
MjBmYWJhYzgxNjdlOTk4Mzk3NDhlNDJlZTI5Njk4MGFhN2IwOGY1Li44NTZiZDljYmNkNjcxOGUy
YzhkODY1YmEwZmQ5ODU4ZWIzMDA5YWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNC0wMS0yNSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluIGEgRGF0YUdyaWQsIHN0b3JlIHZhbHVl
IG9mIGNvbHVtbklkZW50aWZpZXIgYXMgYSBkYXRhc2V0IGF0dHJpYnV0ZQorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRGF0
YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5fa2V5RG93bik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLl9jb250ZXh0TWVudUluRGF0YVRhYmxlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlLmNyZWF0ZUNlbGwpOgorCiAy
MDE0LTAxLTIzICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWZhY3RvciBUaW1lbGluZVJlY29yZEJhciBjb21iaW5pbmcgbG9naWMgaW50byBhIGhlbHBl
ciBmdW5jdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0RhdGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGF0
YUdyaWQuanMKaW5kZXggMmJlY2JkNjQyNWE2ZjViMTdlYjBkZmY0MWMxYjRiNTZmNTNiNjkxMi4u
ZjU5NTMzNWIxYzY1OGQ0NjUwNjViYzkxODdiZGFkMzI4ZDEzZmY5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanMKQEAgLTg1LDcgKzg1LDcg
QEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gZnVuY3Rpb24oY29sdW1ucywgZWRpdENhbGxiYWNr
LCBkZWxldGVDYWxsYmFjaykKICAgICAgICAgY29sdW1uR3JvdXAuYXBwZW5kQ2hpbGQoY29sKTsK
IAogICAgICAgICB2YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRoIik7Ci0gICAg
ICAgIGNlbGwuY2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKKyAgICAg
ICAgY2VsbC5kYXRhc2V0WyJjb2x1bW5JZGVudGlmaWVyIl0gPSBjb2x1bW5JZGVudGlmaWVyOwog
ICAgICAgICBjZWxsLmNvbHVtbklkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOwogICAgICAg
ICBpZiAoY29sdW1uLmFsaWduZWQpCiAgICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoY29s
dW1uLmFsaWduZWQpOwpAQCAtMTUyLDcgKzE1Miw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9
IGZ1bmN0aW9uKGNvbHVtbnMsIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJhY2spCiAgICAgZm9y
ICh2YXIgY29sdW1uSWRlbnRpZmllciBpbiBjb2x1bW5zKSB7CiAgICAgICAgIHZhciBjb2x1bW4g
PSBjb2x1bW5zW2NvbHVtbklkZW50aWZpZXJdOwogICAgICAgICB2YXIgdGQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJ0ZCIpOwotICAgICAgICB0ZC5jbGFzc05hbWUgPSBjb2x1bW5JZGVudGlm
aWVyICsgIi1jb2x1bW4iOworICAgICAgICB0ZC5kYXRhc2V0WyJjb2x1bW5JZGVudGlmaWVyIl0g
PSBjb2x1bW5JZGVudGlmaWVyOwogICAgICAgICB2YXIgZ3JvdXAgPSB0aGlzLmdyb3Vwc1tjb2x1
bW5JZGVudGlmaWVyXTsKICAgICAgICAgaWYgKGdyb3VwKQogICAgICAgICAgICAgdGQuY2xhc3NM
aXN0LmFkZCgiY29sdW1uLWdyb3VwLSIgKyBncm91cCk7CkBAIC0zNDMsOCArMzQzLDcgQEAgV2Vi
SW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gRklYTUU6IFdlIG5l
ZWQgbW9yZSBjb2x1bW4gaWRlbnRpZmllcnMgaGVyZSB0aHJvdWdob3V0IHRoaXMgZnVuY3Rpb24u
CiAgICAgICAgIC8vIE5vdCBuZWVkZWQgeWV0IHNpbmNlIG9ubHkgZWRpdGFibGUgRGF0YUdyaWQg
aXMgRE9NIFN0b3JhZ2UsIHdoaWNoIGlzIEtleSAtIFZhbHVlLgogCi0gICAgICAgIC8vIEZJWE1F
OiBCZXR0ZXIgd2F5IHRvIGRvIHRoaXMgdGhhbiByZWd1bGFyIGV4cHJlc3Npb25zPwotICAgICAg
ICB2YXIgY29sdW1uSWRlbnRpZmllciA9IHBhcnNlSW50KGVsZW1lbnQuY2xhc3NOYW1lLm1hdGNo
KC9cYihcZCspLWNvbHVtblxiLylbMV0sIDEwKTsKKyAgICAgICAgdmFyIGNvbHVtbklkZW50aWZp
ZXIgPSBlbGVtZW50LmRhdGFzZXRbImNvbHVtbklkZW50aWZpZXIiXTsKIAogICAgICAgICB2YXIg
dGV4dEJlZm9yZUVkaXRpbmcgPSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2NvbHVtbklkZW50aWZp
ZXJdIHx8ICIiOwogICAgICAgICB2YXIgY3VycmVudEVkaXRpbmdOb2RlID0gdGhpcy5fZWRpdGlu
Z05vZGU7CkBAIC05MDEsNyArOTAwLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgfSBlbHNlIGlmIChpc0VudGVyS2V5KGV2ZW50KSkgewogICAgICAgICAg
ICAgaWYgKHRoaXMuX2VkaXRDYWxsYmFjaykgewogICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0
cnVlOwotICAgICAgICAgICAgICAgIC8vIFRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgc2VsZWN0ZWQg
ZWxlbWVudCBpcyB0aGUgPHRkIGNsYXNzPSIwLWNvbHVtbiI+LAorICAgICAgICAgICAgICAgIC8v
IFRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgc2VsZWN0ZWQgZWxlbWVudCBpcyB0aGUgPHRkIGRhdGEt
Y29sdW1uSWRlbnRpZmllcj0iMCI+LAogICAgICAgICAgICAgICAgIC8vIGFuZCB0aGF0J3Mgd2hh
dCB3ZSB3YW50IHRvIGVkaXQuCiAgICAgICAgICAgICAgICAgdGhpcy5fc3RhcnRFZGl0aW5nKHRo
aXMuc2VsZWN0ZWROb2RlLl9lbGVtZW50LmNoaWxkcmVuWzBdKTsKICAgICAgICAgICAgIH0KQEAg
LTExMzcsNyArMTEzNiw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJBZGQgTmV3IiksIHRoaXMuX3N0YXJ0RWRpdGluZy5iaW5kKHRoaXMsIGV2ZW50LnRh
cmdldCkpOwogICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICB2YXIg
ZWxlbWVudCA9IGV2ZW50LnRhcmdldC5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lKCJ0
ZCIpOwotICAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1uSWRlbnRpZmllciA9IHBhcnNlSW50
KGVsZW1lbnQuY2xhc3NOYW1lLm1hdGNoKC9cYihcZCspLWNvbHVtblxiLylbMV0sIDEwKTsKKyAg
ICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbklkZW50aWZpZXIgPSBlbGVtZW50LmRhdGFzZXRb
ImNvbHVtbklkZW50aWZpZXIiXTsKICAgICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtblRpdGxl
ID0gdGhpcy5kYXRhR3JpZC5jb2x1bW5zW2NvbHVtbklkZW50aWZpZXJdLnRpdGxlOwogICAgICAg
ICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiRWRpdCDigJwlc+KAnSIpLmZvcm1hdChjb2x1bW5UaXRsZSksIHRoaXMuX3N0YXJ0RWRpdGlu
Zy5iaW5kKHRoaXMsIGV2ZW50LnRhcmdldCkpOwogICAgICAgICAgICAgICAgIH0KQEAgLTE1MTcs
NyArMTUxNiw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAg
IGNyZWF0ZUNlbGw6IGZ1bmN0aW9uKGNvbHVtbklkZW50aWZpZXIpCiAgICAgewogICAgICAgICB2
YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIGNlbGwuY2xh
c3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKKyAgICAgICAgY2VsbC5kYXRh
c2V0WyJjb2x1bW5JZGVudGlmaWVyIl0gPSBjb2x1bW5JZGVudGlmaWVyOwogCiAgICAgICAgIHZh
ciBhbGlnbm1lbnQgPSB0aGlzLmRhdGFHcmlkLmFsaWduZWRbY29sdW1uSWRlbnRpZmllcl07CiAg
ICAgICAgIGlmIChhbGlnbm1lbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222234</attachid>
            <date>2014-01-25 14:38:06 -0800</date>
            <delta_ts>2014-01-27 16:22:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127613-20140125233805.patch</filename>
            <type>text/plain</type>
            <size>3725</size>
            <attacher name="Diego Pino">dpino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyNzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
MjBmYWJhYzgxNjdlOTk4Mzk3NDhlNDJlZTI5Njk4MGFhN2IwOGY1Li4wYTU3MDQxZjVlNTVkZjA5
ZjY4ZGI2NGQ3NmZhY2E5ZDJlZjUxMjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNC0wMS0yNSAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluIGEgRGF0YUdyaWQsIGFwcGVuZCB2YWx1
ZSBvZiBjb2x1bW5JZGVudGlmaWVyIHRvCisgICAgICAgIERPTSBub2RlIHJlcHJlc2VudGluZyBh
IGNlbGwuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNzYxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogVXNlckludGVyZmFjZS9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRh
R3JpZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLl9rZXlEb3du
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2NvbnRleHRNZW51
SW5EYXRhVGFibGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5
cGUuY3JlYXRlQ2VsbCk6CisKIDIwMTQtMDEtMjMgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlA
YXBwbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFRpbWVsaW5lUmVjb3JkQmFyIGNvbWJpbmlu
ZyBsb2dpYyBpbnRvIGEgaGVscGVyIGZ1bmN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9EYXRhR3JpZC5qcwppbmRleCAyYmVjYmQ2NDI1YTZmNWIxN2ViMGRm
ZjQxYzFiNGI1NmY1M2I2OTEyLi42ODA1MjZhYzBiY2FmY2I3MjYwMzk2NTQwMmM4NjExNGUwMTYy
NTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EYXRh
R3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EYXRhR3Jp
ZC5qcwpAQCAtMTUzLDYgKzE1Myw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGZ1bmN0aW9u
KGNvbHVtbnMsIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJhY2spCiAgICAgICAgIHZhciBjb2x1
bW4gPSBjb2x1bW5zW2NvbHVtbklkZW50aWZpZXJdOwogICAgICAgICB2YXIgdGQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwogICAgICAgICB0ZC5jbGFzc05hbWUgPSBjb2x1bW5JZGVu
dGlmaWVyICsgIi1jb2x1bW4iOworICAgICAgICB0ZC5jb2x1bW5JZGVudGlmaWVyID0gY29sdW1u
SWRlbnRpZmllcjsKICAgICAgICAgdmFyIGdyb3VwID0gdGhpcy5ncm91cHNbY29sdW1uSWRlbnRp
Zmllcl07CiAgICAgICAgIGlmIChncm91cCkKICAgICAgICAgICAgIHRkLmNsYXNzTGlzdC5hZGQo
ImNvbHVtbi1ncm91cC0iICsgZ3JvdXApOwpAQCAtMzQzLDggKzM0NCw3IEBAIFdlYkluc3BlY3Rv
ci5EYXRhR3JpZC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBuZWVkIG1vcmUg
Y29sdW1uIGlkZW50aWZpZXJzIGhlcmUgdGhyb3VnaG91dCB0aGlzIGZ1bmN0aW9uLgogICAgICAg
ICAvLyBOb3QgbmVlZGVkIHlldCBzaW5jZSBvbmx5IGVkaXRhYmxlIERhdGFHcmlkIGlzIERPTSBT
dG9yYWdlLCB3aGljaCBpcyBLZXkgLSBWYWx1ZS4KIAotICAgICAgICAvLyBGSVhNRTogQmV0dGVy
IHdheSB0byBkbyB0aGlzIHRoYW4gcmVndWxhciBleHByZXNzaW9ucz8KLSAgICAgICAgdmFyIGNv
bHVtbklkZW50aWZpZXIgPSBwYXJzZUludChlbGVtZW50LmNsYXNzTmFtZS5tYXRjaCgvXGIoXGQr
KS1jb2x1bW5cYi8pWzFdLCAxMCk7CisgICAgICAgIHZhciBjb2x1bW5JZGVudGlmaWVyID0gZWxl
bWVudC5jb2x1bW5JZGVudGlmaWVyOwogCiAgICAgICAgIHZhciB0ZXh0QmVmb3JlRWRpdGluZyA9
IHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbY29sdW1uSWRlbnRpZmllcl0gfHwgIiI7CiAgICAgICAg
IHZhciBjdXJyZW50RWRpdGluZ05vZGUgPSB0aGlzLl9lZGl0aW5nTm9kZTsKQEAgLTkwMSw4ICs5
MDEsNiBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlID0gewogICAgICAgICB9IGVs
c2UgaWYgKGlzRW50ZXJLZXkoZXZlbnQpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5fZWRpdENh
bGxiYWNrKSB7CiAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7Ci0gICAgICAgICAgICAg
ICAgLy8gVGhlIGZpcnN0IGNoaWxkIG9mIHRoZSBzZWxlY3RlZCBlbGVtZW50IGlzIHRoZSA8dGQg
Y2xhc3M9IjAtY29sdW1uIj4sCi0gICAgICAgICAgICAgICAgLy8gYW5kIHRoYXQncyB3aGF0IHdl
IHdhbnQgdG8gZWRpdC4KICAgICAgICAgICAgICAgICB0aGlzLl9zdGFydEVkaXRpbmcodGhpcy5z
ZWxlY3RlZE5vZGUuX2VsZW1lbnQuY2hpbGRyZW5bMF0pOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC0xMTM3LDcgKzExMzUsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQWRkIE5ldyIpLCB0aGlzLl9zdGFydEVkaXRpbmcuYmluZCh0aGlzLCBl
dmVudC50YXJnZXQpKTsKICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAg
ICAgdmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2Rl
TmFtZSgidGQiKTsKLSAgICAgICAgICAgICAgICAgICAgdmFyIGNvbHVtbklkZW50aWZpZXIgPSBw
YXJzZUludChlbGVtZW50LmNsYXNzTmFtZS5tYXRjaCgvXGIoXGQrKS1jb2x1bW5cYi8pWzFdLCAx
MCk7CisgICAgICAgICAgICAgICAgICAgIHZhciBjb2x1bW5JZGVudGlmaWVyID0gZWxlbWVudC5j
b2x1bW5JZGVudGlmaWVyOwogICAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1uVGl0bGUgPSB0
aGlzLmRhdGFHcmlkLmNvbHVtbnNbY29sdW1uSWRlbnRpZmllcl0udGl0bGU7CiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJF
ZGl0IOKAnCVz4oCdIikuZm9ybWF0KGNvbHVtblRpdGxlKSwgdGhpcy5fc3RhcnRFZGl0aW5nLmJp
bmQodGhpcywgZXZlbnQudGFyZ2V0KSk7CiAgICAgICAgICAgICAgICAgfQpAQCAtMTUxOCw2ICsx
NTE2LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICB2YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7CiAgICAgICAg
IGNlbGwuY2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmllciArICItY29sdW1uIjsKKyAgICAgICAg
Y2VsbC5jb2x1bW5JZGVudGlmaWVyID0gY29sdW1uSWRlbnRpZmllcjsKIAogICAgICAgICB2YXIg
YWxpZ25tZW50ID0gdGhpcy5kYXRhR3JpZC5hbGlnbmVkW2NvbHVtbklkZW50aWZpZXJdOwogICAg
ICAgICBpZiAoYWxpZ25tZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222378</attachid>
            <date>2014-01-27 16:22:51 -0800</date>
            <delta_ts>2014-01-28 04:56:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127613-20140128012249.patch</filename>
            <type>text/plain</type>
            <size>3713</size>
            <attacher name="Diego Pino">dpino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
ODRiNmRiNDQwMGMzMGZjMDE3MTkxODllMWM3YmJlZmE3N2E0ZmE0Li44MDQzYjIxNDRjMTgyZTAy
MmRkNjczZGU1ZTBlN2YyZmYwYzM5YTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNC0wMS0yNyAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluIGEgRGF0YUdyaWQsIHN0b3JlIHZhbHVl
IG9mIGNvbHVtbklkZW50aWZpZXIgdG8gRE9NIG5vZGUgcmVwcmVzZW50aW5nIGEgY2VsbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjEzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2tleURvd24pOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5fY29udGV4dE1lbnVJbkRhdGFUYWJsZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZS5jcmVhdGVDZWxs
KToKKwogMjAxNC0wMS0yNSAgVGltb3RoeSBIYXRjaGVyICA8dGltb3RoeUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIGRlYWQgY29kZSBmcm9tIHRoZSBKU0MgcHJvZmlsZXIuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EYXRhR3JpZC5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RhdGFHcmlkLmpzCmluZGV4IDJiZWNi
ZDY0MjVhNmY1YjE3ZWIwZGZmNDFjMWI0YjU2ZjUzYjY5MTIuLjk1MWZkMWY5MzVkNTFlNjM3ODBl
MjJkZTZiMTM5ZmRmODAyMjMxMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0RhdGFHcmlkLmpzCkBAIC0xNTMsNiArMTUzLDcgQEAgV2ViSW5zcGVjdG9yLkRh
dGFHcmlkID0gZnVuY3Rpb24oY29sdW1ucywgZWRpdENhbGxiYWNrLCBkZWxldGVDYWxsYmFjaykK
ICAgICAgICAgdmFyIGNvbHVtbiA9IGNvbHVtbnNbY29sdW1uSWRlbnRpZmllcl07CiAgICAgICAg
IHZhciB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7CiAgICAgICAgIHRkLmNsYXNz
TmFtZSA9IGNvbHVtbklkZW50aWZpZXIgKyAiLWNvbHVtbiI7CisgICAgICAgIHRkLl9fY29sdW1u
SWRlbnRpZmllciA9IHBhcnNlSW50KGNvbHVtbklkZW50aWZpZXIpOwogICAgICAgICB2YXIgZ3Jv
dXAgPSB0aGlzLmdyb3Vwc1tjb2x1bW5JZGVudGlmaWVyXTsKICAgICAgICAgaWYgKGdyb3VwKQog
ICAgICAgICAgICAgdGQuY2xhc3NMaXN0LmFkZCgiY29sdW1uLWdyb3VwLSIgKyBncm91cCk7CkBA
IC0zNDMsOCArMzQ0LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgLy8gRklYTUU6IFdlIG5lZWQgbW9yZSBjb2x1bW4gaWRlbnRpZmllcnMgaGVyZSB0aHJv
dWdob3V0IHRoaXMgZnVuY3Rpb24uCiAgICAgICAgIC8vIE5vdCBuZWVkZWQgeWV0IHNpbmNlIG9u
bHkgZWRpdGFibGUgRGF0YUdyaWQgaXMgRE9NIFN0b3JhZ2UsIHdoaWNoIGlzIEtleSAtIFZhbHVl
LgogCi0gICAgICAgIC8vIEZJWE1FOiBCZXR0ZXIgd2F5IHRvIGRvIHRoaXMgdGhhbiByZWd1bGFy
IGV4cHJlc3Npb25zPwotICAgICAgICB2YXIgY29sdW1uSWRlbnRpZmllciA9IHBhcnNlSW50KGVs
ZW1lbnQuY2xhc3NOYW1lLm1hdGNoKC9cYihcZCspLWNvbHVtblxiLylbMV0sIDEwKTsKKyAgICAg
ICAgdmFyIGNvbHVtbklkZW50aWZpZXIgPSBlbGVtZW50Ll9fY29sdW1uSWRlbnRpZmllcjsKIAog
ICAgICAgICB2YXIgdGV4dEJlZm9yZUVkaXRpbmcgPSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2Nv
bHVtbklkZW50aWZpZXJdIHx8ICIiOwogICAgICAgICB2YXIgY3VycmVudEVkaXRpbmdOb2RlID0g
dGhpcy5fZWRpdGluZ05vZGU7CkBAIC05MDEsOCArOTAxLDYgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgfSBlbHNlIGlmIChpc0VudGVyS2V5KGV2ZW50KSkg
ewogICAgICAgICAgICAgaWYgKHRoaXMuX2VkaXRDYWxsYmFjaykgewogICAgICAgICAgICAgICAg
IGhhbmRsZWQgPSB0cnVlOwotICAgICAgICAgICAgICAgIC8vIFRoZSBmaXJzdCBjaGlsZCBvZiB0
aGUgc2VsZWN0ZWQgZWxlbWVudCBpcyB0aGUgPHRkIGNsYXNzPSIwLWNvbHVtbiI+LAotICAgICAg
ICAgICAgICAgIC8vIGFuZCB0aGF0J3Mgd2hhdCB3ZSB3YW50IHRvIGVkaXQuCiAgICAgICAgICAg
ICAgICAgdGhpcy5fc3RhcnRFZGl0aW5nKHRoaXMuc2VsZWN0ZWROb2RlLl9lbGVtZW50LmNoaWxk
cmVuWzBdKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTEzNyw3ICsxMTM1LDcgQEAg
V2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAg
Y29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFkZCBOZXciKSwg
dGhpcy5fc3RhcnRFZGl0aW5nLmJpbmQodGhpcywgZXZlbnQudGFyZ2V0KSk7CiAgICAgICAgICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZXZlbnQudGFy
Z2V0LmVuY2xvc2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWUoInRkIik7Ci0gICAgICAgICAgICAg
ICAgICAgIHZhciBjb2x1bW5JZGVudGlmaWVyID0gcGFyc2VJbnQoZWxlbWVudC5jbGFzc05hbWUu
bWF0Y2goL1xiKFxkKyktY29sdW1uXGIvKVsxXSwgMTApOworICAgICAgICAgICAgICAgICAgICB2
YXIgY29sdW1uSWRlbnRpZmllciA9IGVsZW1lbnQuX19jb2x1bW5JZGVudGlmaWVyOwogICAgICAg
ICAgICAgICAgICAgICB2YXIgY29sdW1uVGl0bGUgPSB0aGlzLmRhdGFHcmlkLmNvbHVtbnNbY29s
dW1uSWRlbnRpZmllcl0udGl0bGU7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFw
cGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFZGl0IOKAnCVz4oCdIikuZm9ybWF0KGNv
bHVtblRpdGxlKSwgdGhpcy5fc3RhcnRFZGl0aW5nLmJpbmQodGhpcywgZXZlbnQudGFyZ2V0KSk7
CiAgICAgICAgICAgICAgICAgfQpAQCAtMTUxOCw2ICsxNTE2LDcgQEAgV2ViSW5zcGVjdG9yLkRh
dGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgY2VsbCA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7CiAgICAgICAgIGNlbGwuY2xhc3NOYW1lID0gY29sdW1u
SWRlbnRpZmllciArICItY29sdW1uIjsKKyAgICAgICAgY2VsbC5fX2NvbHVtbklkZW50aWZpZXIg
PSBwYXJzZUludChjb2x1bW5JZGVudGlmaWVyKTsKIAogICAgICAgICB2YXIgYWxpZ25tZW50ID0g
dGhpcy5kYXRhR3JpZC5hbGlnbmVkW2NvbHVtbklkZW50aWZpZXJdOwogICAgICAgICBpZiAoYWxp
Z25tZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222430</attachid>
            <date>2014-01-28 04:56:51 -0800</date>
            <delta_ts>2014-01-28 07:35:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127613-20140128135649.patch</filename>
            <type>text/plain</type>
            <size>4549</size>
            <attacher name="Diego Pino">dpino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyODAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
ODRiNmRiNDQwMGMzMGZjMDE3MTkxODllMWM3YmJlZmE3N2E0ZmE0Li5lNTU4YTA4OWU3NjRlYmU2
NDA2MGIyZGU1MGM0NzVhOWQzMWMxMjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNC0wMS0yOCAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluIGEgRGF0YUdyaWQsIHN0b3JlIHZhbHVl
IG9mIGNvbHVtbklkZW50aWZpZXIgdG8gRE9NIG5vZGUgcmVwcmVzZW50aW5nIGEgY2VsbAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NjEzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0RPTVN0b3JhZ2VDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01T
dG9yYWdlQ29udGVudFZpZXcucHJvdG90eXBlLl9lZGl0aW5nQ2FsbGJhY2spOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdy
aWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5fa2V5RG93bik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLl9jb250ZXh0TWVudUlu
RGF0YVRhYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBl
LmNyZWF0ZUNlbGwpOgorCiAyMDE0LTAxLTI1ICBUaW1vdGh5IEhhdGNoZXIgIDx0aW1vdGh5QGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGVhZCBjb2RlIGZyb20gdGhlIEpTQyBwcm9maWxl
ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RPTVN0
b3JhZ2VDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0RPTVN0b3JhZ2VDb250ZW50Vmlldy5qcwppbmRleCBkMzFkYjkyMzBkZTc2NDNhNjUxZWMwNmQw
ZjY4ZDg3Zjg0NDkzNmNjLi4zMWJhN2ZhNWIwMTZjYmNhNDA4YTVhZjA0YjFiNjE3MTY0YjM4ODll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9ET01TdG9y
YWdlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvRE9NU3RvcmFnZUNvbnRlbnRWaWV3LmpzCkBAIC0yMTUsNyArMjE1LDcgQEAgV2ViSW5zcGVj
dG9yLkRPTVN0b3JhZ2VDb250ZW50Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2VkaXRpbmdDYWxs
YmFjazogZnVuY3Rpb24oZWRpdGluZ05vZGUsIGNvbHVtbklkZW50aWZpZXIsIG9sZFRleHQsIG5l
d1RleHQpCiAgICAgewogICAgICAgICB2YXIgZG9tU3RvcmFnZSA9IHRoaXMucmVwcmVzZW50ZWRP
YmplY3Q7Ci0gICAgICAgIGlmIChjb2x1bW5JZGVudGlmaWVyID09PSAwKSB7CisgICAgICAgIGlm
IChjb2x1bW5JZGVudGlmaWVyID09PSAiMCIpIHsKICAgICAgICAgICAgIGlmIChvbGRUZXh0KQog
ICAgICAgICAgICAgICAgIGRvbVN0b3JhZ2UucmVtb3ZlSXRlbShvbGRUZXh0KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGF0YUdyaWQuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9EYXRhR3JpZC5qcwppbmRleCAyYmVj
YmQ2NDI1YTZmNWIxN2ViMGRmZjQxYzFiNGI1NmY1M2I2OTEyLi44MjEyMWU4N2U4NjQ3OWEwMWQ4
ZDRiZGRhNzgzNjlmMThiN2YxODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9EYXRhR3JpZC5qcwpAQCAtMTUzLDYgKzE1Myw3IEBAIFdlYkluc3BlY3Rvci5E
YXRhR3JpZCA9IGZ1bmN0aW9uKGNvbHVtbnMsIGVkaXRDYWxsYmFjaywgZGVsZXRlQ2FsbGJhY2sp
CiAgICAgICAgIHZhciBjb2x1bW4gPSBjb2x1bW5zW2NvbHVtbklkZW50aWZpZXJdOwogICAgICAg
ICB2YXIgdGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZCIpOwogICAgICAgICB0ZC5jbGFz
c05hbWUgPSBjb2x1bW5JZGVudGlmaWVyICsgIi1jb2x1bW4iOworICAgICAgICB0ZC5fX2NvbHVt
bklkZW50aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOwogICAgICAgICB2YXIgZ3JvdXAgPSB0aGlz
Lmdyb3Vwc1tjb2x1bW5JZGVudGlmaWVyXTsKICAgICAgICAgaWYgKGdyb3VwKQogICAgICAgICAg
ICAgdGQuY2xhc3NMaXN0LmFkZCgiY29sdW1uLWdyb3VwLSIgKyBncm91cCk7CkBAIC0zNDMsOCAr
MzQ0LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8g
RklYTUU6IFdlIG5lZWQgbW9yZSBjb2x1bW4gaWRlbnRpZmllcnMgaGVyZSB0aHJvdWdob3V0IHRo
aXMgZnVuY3Rpb24uCiAgICAgICAgIC8vIE5vdCBuZWVkZWQgeWV0IHNpbmNlIG9ubHkgZWRpdGFi
bGUgRGF0YUdyaWQgaXMgRE9NIFN0b3JhZ2UsIHdoaWNoIGlzIEtleSAtIFZhbHVlLgogCi0gICAg
ICAgIC8vIEZJWE1FOiBCZXR0ZXIgd2F5IHRvIGRvIHRoaXMgdGhhbiByZWd1bGFyIGV4cHJlc3Np
b25zPwotICAgICAgICB2YXIgY29sdW1uSWRlbnRpZmllciA9IHBhcnNlSW50KGVsZW1lbnQuY2xh
c3NOYW1lLm1hdGNoKC9cYihcZCspLWNvbHVtblxiLylbMV0sIDEwKTsKKyAgICAgICAgdmFyIGNv
bHVtbklkZW50aWZpZXIgPSBlbGVtZW50Ll9fY29sdW1uSWRlbnRpZmllcjsKIAogICAgICAgICB2
YXIgdGV4dEJlZm9yZUVkaXRpbmcgPSB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhW2NvbHVtbklkZW50
aWZpZXJdIHx8ICIiOwogICAgICAgICB2YXIgY3VycmVudEVkaXRpbmdOb2RlID0gdGhpcy5fZWRp
dGluZ05vZGU7CkBAIC05MDEsOCArOTAxLDYgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgfSBlbHNlIGlmIChpc0VudGVyS2V5KGV2ZW50KSkgewogICAgICAg
ICAgICAgaWYgKHRoaXMuX2VkaXRDYWxsYmFjaykgewogICAgICAgICAgICAgICAgIGhhbmRsZWQg
PSB0cnVlOwotICAgICAgICAgICAgICAgIC8vIFRoZSBmaXJzdCBjaGlsZCBvZiB0aGUgc2VsZWN0
ZWQgZWxlbWVudCBpcyB0aGUgPHRkIGNsYXNzPSIwLWNvbHVtbiI+LAotICAgICAgICAgICAgICAg
IC8vIGFuZCB0aGF0J3Mgd2hhdCB3ZSB3YW50IHRvIGVkaXQuCiAgICAgICAgICAgICAgICAgdGhp
cy5fc3RhcnRFZGl0aW5nKHRoaXMuc2VsZWN0ZWROb2RlLl9lbGVtZW50LmNoaWxkcmVuWzBdKTsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQpAQCAtMTEzNyw3ICsxMTM1LDcgQEAgV2ViSW5zcGVj
dG9yLkRhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICAgICAgY29udGV4dE1l
bnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFkZCBOZXciKSwgdGhpcy5fc3Rh
cnRFZGl0aW5nLmJpbmQodGhpcywgZXZlbnQudGFyZ2V0KSk7CiAgICAgICAgICAgICAgICAgZWxz
ZSB7CiAgICAgICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gZXZlbnQudGFyZ2V0LmVuY2xv
c2luZ05vZGVPclNlbGZXaXRoTm9kZU5hbWUoInRkIik7Ci0gICAgICAgICAgICAgICAgICAgIHZh
ciBjb2x1bW5JZGVudGlmaWVyID0gcGFyc2VJbnQoZWxlbWVudC5jbGFzc05hbWUubWF0Y2goL1xi
KFxkKyktY29sdW1uXGIvKVsxXSwgMTApOworICAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1u
SWRlbnRpZmllciA9IGVsZW1lbnQuX19jb2x1bW5JZGVudGlmaWVyOwogICAgICAgICAgICAgICAg
ICAgICB2YXIgY29sdW1uVGl0bGUgPSB0aGlzLmRhdGFHcmlkLmNvbHVtbnNbY29sdW1uSWRlbnRp
Zmllcl0udGl0bGU7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0o
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFZGl0IOKAnCVz4oCdIikuZm9ybWF0KGNvbHVtblRpdGxl
KSwgdGhpcy5fc3RhcnRFZGl0aW5nLmJpbmQodGhpcywgZXZlbnQudGFyZ2V0KSk7CiAgICAgICAg
ICAgICAgICAgfQpAQCAtMTUxOCw2ICsxNTE2LDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9k
ZS5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoInRkIik7CiAgICAgICAgIGNlbGwuY2xhc3NOYW1lID0gY29sdW1uSWRlbnRpZmll
ciArICItY29sdW1uIjsKKyAgICAgICAgY2VsbC5fX2NvbHVtbklkZW50aWZpZXIgPSBjb2x1bW5J
ZGVudGlmaWVyOwogCiAgICAgICAgIHZhciBhbGlnbm1lbnQgPSB0aGlzLmRhdGFHcmlkLmFsaWdu
ZWRbY29sdW1uSWRlbnRpZmllcl07CiAgICAgICAgIGlmIChhbGlnbm1lbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>