<?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>154048</bug_id>
          
          <creation_ts>2016-02-09 14:43:59 -0800</creation_ts>
          <short_desc>Web Inspector: Allow copying all headers in the request/response header tables</short_desc>
          <delta_ts>2016-02-22 03:39:53 -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>Safari 9</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Derk-Jan Hartman">hartman.wiki</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1163295</commentid>
    <comment_count>0</comment_count>
    <who name="Derk-Jan Hartman">hartman.wiki</who>
    <bug_when>2016-02-09 14:43:59 -0800</bug_when>
    <thetext>Quite often I have to file bugreports, where caching headers and varnish IDs and dates and cookies and basically everything that might remotely influence your session is important. Most of this information (with the exception of cookies, which is bug 16531) is available to me right there in the response section of the request.

But if I want to use it, I have to select each individual value and copy and past it somewhere else. This leads to a routine of &quot;Type name of header (faster than copying it from inspector), copy value, repeat&quot;. After 2 headers i&apos;m annoyed that I have to do it like this, after 8 headers i&apos;m cursing :)


JoePeck&gt; thedj: hmm, our DataGrid class doesn&apos;t yet have multiple-selection, so that would require some implementation work
JoePeck&gt; thedj: we have a context menu for &quot;Copy Row&quot; maybe a &quot;Copy All Rows&quot; would be a reasonable short term hack&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163296</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-09 14:44:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/24576302&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163297</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-09 14:53:25 -0800</bug_when>
    <thetext>It was easy to add a &quot;Copy Table&quot; context menu item here, which includes the DataGrid header names and then all the copyable row data. I&apos;ll test this a bit more and put up a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163304</commentid>
    <comment_count>3</comment_count>
      <attachid>270956</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-09 15:16:54 -0800</bug_when>
    <thetext>Created attachment 270956
[PATCH] Proposed Fix

There are other enhancement requests around copying requests as cURL and getting more exportable data about requests/responses. However a quick fix for this, which makes sense elsewhere as well, is to add a &quot;Copy Table&quot; context menu to any DataGrid that has copyable data. This patch adds it to rows and headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163309</commentid>
    <comment_count>4</comment_count>
      <attachid>270956</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-09 15:30:25 -0800</bug_when>
    <thetext>Comment on attachment 270956
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1250
&gt; +        var fields = [];
&gt; +        for (var identifier of this.orderedColumns)

let</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163313</commentid>
    <comment_count>5</comment_count>
      <attachid>270956</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-02-09 15:44:32 -0800</bug_when>
    <thetext>Comment on attachment 270956
[PATCH] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1250
&gt;&gt; +        for (var identifier of this.orderedColumns)
&gt; 
&gt; let

Actually, couldn&apos;t you just use an Array.prototype.map() here?
let fields = this.orderedColumns.map(item =&gt; this.headerTableHeader(identifier).textContent);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163324</commentid>
    <comment_count>6</comment_count>
      <attachid>270956</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-09 16:13:17 -0800</bug_when>
    <thetext>Comment on attachment 270956
[PATCH] Proposed Fix

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1250
&gt;&gt;&gt; +        for (var identifier of this.orderedColumns)
&gt;&gt; 
&gt;&gt; let
&gt; 
&gt; Actually, couldn&apos;t you just use an Array.prototype.map() here?
&gt; let fields = this.orderedColumns.map(item =&gt; this.headerTableHeader(identifier).textContent);

I like it. Used this for both this and the other similar method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163325</commentid>
    <comment_count>7</comment_count>
      <attachid>270960</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-09 16:13:46 -0800</bug_when>
    <thetext>Created attachment 270960
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163331</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-09 16:16:14 -0800</bug_when>
    <thetext>&gt; &gt; Actually, couldn&apos;t you just use an Array.prototype.map() here?
&gt; &gt; let fields = this.orderedColumns.map(item =&gt; this.headerTableHeader(identifier).textContent);

s/item/identifier/

Also we were avoiding arrow functions that used `this` in their body because the implicit lexical this binding was flakey until recently. But from what I understand this is working well now, and I tested this case and it worked well. So, onward with arrow functions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1163355</commentid>
    <comment_count>9</comment_count>
      <attachid>270960</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-09 17:13:41 -0800</bug_when>
    <thetext>Comment on attachment 270960
[PATCH] For Landing

Clearing flags on attachment: 270960

Committed r196348: &lt;http://trac.webkit.org/changeset/196348&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166987</commentid>
    <comment_count>10</comment_count>
    <who name="Derk-Jan Hartman">hartman.wiki</who>
    <bug_when>2016-02-22 03:39:53 -0800</bug_when>
    <thetext>Super useful change, I&apos;ve already used it twice today !</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270956</attachid>
            <date>2016-02-09 15:16:54 -0800</date>
            <delta_ts>2016-02-09 16:13:17 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>copy-table.patch</filename>
            <type>text/plain</type>
            <size>5354</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGQ4OGViODkuLmMxNDNmNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE2LTAyLTA5ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWxsb3cg
Y29weWluZyBhbGwgaGVhZGVycyBpbiB0aGUgcmVxdWVzdC9yZXNwb25zZSBoZWFkZXIgdGFibGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQwNDgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0NTc2MzAyPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICBOZXcgIkNvcHkgVGFibGUiIHN0cmluZy4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGF0YUdyaWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlw
ZS5fY29udGV4dE1lbnVJbkhlYWRlcik6CisgICAgICAgIEFkZCBjb250ZXh0IG1lbnUgc3VwcG9y
dCBmb3IgdGFibGUgaGVhZGVyIGNlbGxzLCBhbmQgZ2l2ZSB0aGVtIGEKKyAgICAgICAgIkNvcHkg
VGFibGUiIGNvbnRleHQgbWVudSBpZiB0aGVyZSBpcyBjb3B5YWJsZSBkYXRhLgorCisgICAgICAg
IChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLl9jb250ZXh0TWVudUluRGF0YVRhYmxl
KToKKyAgICAgICAgQWRkICJDb3B5IFRhYmxlIiBjb250ZXh0IG1lbnUgZm9yIGNvcHlhYmxlIHJv
d3MuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2NvcHlUZXh0
Rm9yRGF0YUdyaWROb2RlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5
cGUuX2NvcHlUZXh0Rm9yRGF0YUdyaWRIZWFkZXJzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
YXRhR3JpZC5wcm90b3R5cGUuX2NvcHlUYWJsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0
YUdyaWQucHJvdG90eXBlLl9oYXNDb3B5YWJsZURhdGEpOgorICAgICAgICBIZWxwZXJzIGZvciBk
ZXRlcm1pbmluZyBjb3B5YWJpbGl0eSBhbmQgY29weWluZyB0YWIgc2VwYXJhdGVkIGRhdGEuCisK
KzIwMTYtMDItMDkgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAg
ICAgICBXZWIgSW5zcGVjdG9yOiBsb2NhbFN0b3JhZ2UgaW5zcGVjdG9yIHZlcnkgc2xvdyBvbiBi
aWcgdmFsdWVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjM3NTAKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE1Mzg0OTMwPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKaW5kZXggMmNhNjMwNWQwNjI0NDBkOWZkY2U0OGE4MTAwYzEwOWU1
YzcyMGZlMy4uNzg1ZWYwOTQxMTJiYTkyN2Y0YjMxNDBkNTkxOTc4ZTE4NmMxNmU4YiAxMDA2NDQK
R0lUIGJpbmFyeSBwYXRjaApkZWx0YSA1Ngp6Y21lQkokb2d5ez54VFV5aVhqWSUzYHE8KjQ1PHVD
NDZ6SWY0N05iNSNOZj0zJnJyWm4zMW8qJUhnR2JYVHBQQD4KSmQ0SV5zLXZGK0o1OTBzOwoKZGVs
dGEgMTQKV2NtYUYxa2hOblc+eFRVeW5gSnshe3NzVXdpVSglXgoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKaW5kZXggYzlm
NDNmMC4uZmViNjc3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKQEAgLTYwLDYgKzYwLDcgQEAgV2ViSW5zcGVjdG9y
LkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAg
ICAgICB0aGlzLl9oZWFkZXJUYWJsZUNvbHVtbkdyb3VwRWxlbWVudCA9IHRoaXMuX2hlYWRlclRh
YmxlRWxlbWVudC5jcmVhdGVDaGlsZCgiY29sZ3JvdXAiKTsKICAgICAgICAgdGhpcy5faGVhZGVy
VGFibGVCb2R5RWxlbWVudCA9IHRoaXMuX2hlYWRlclRhYmxlRWxlbWVudC5jcmVhdGVDaGlsZCgi
dGJvZHkiKTsKICAgICAgICAgdGhpcy5faGVhZGVyVGFibGVSb3dFbGVtZW50ID0gdGhpcy5faGVh
ZGVyVGFibGVCb2R5RWxlbWVudC5jcmVhdGVDaGlsZCgidHIiKTsKKyAgICAgICAgdGhpcy5faGVh
ZGVyVGFibGVSb3dFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5f
Y29udGV4dE1lbnVJbkhlYWRlci5iaW5kKHRoaXMpLCB0cnVlKTsKICAgICAgICAgdGhpcy5faGVh
ZGVyVGFibGVDZWxsRWxlbWVudHMgPSBuZXcgTWFwOwogCiAgICAgICAgIHRoaXMuX3Njcm9sbENv
bnRhaW5lckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKQEAgLTExNzAs
NiArMTE3MSwxNiBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRl
bmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgICAgICBncmlkTm9kZS5zZWxlY3QoKTsKICAg
ICB9CiAKKyAgICBfY29udGV4dE1lbnVJbkhlYWRlcihldmVudCkKKyAgICB7CisgICAgICAgIGxl
dCBjb250ZXh0TWVudSA9IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudS5jcmVhdGVGcm9tRXZlbnQo
ZXZlbnQpOworCisgICAgICAgIGlmICh0aGlzLl9oYXNDb3B5YWJsZURhdGEoKSkKKyAgICAgICAg
ICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb3B5IFRh
YmxlIiksIHRoaXMuX2NvcHlUYWJsZS5iaW5kKHRoaXMpKTsKKworICAgICAgICAvLyBGSVhNRTog
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1NDA1MD4gV2ViIEluc3BlY3RvcjogRGF0YUdyaWQgSGVh
ZGVyIENlbGxzIHNob3VsZCBoYXZlIENvbnRleHQgTWVudSBmb3IgU29ydGluZworICAgIH0KKwog
ICAgIF9jb250ZXh0TWVudUluRGF0YVRhYmxlKGV2ZW50KQogICAgIHsKICAgICAgICAgbGV0IGNv
bnRleHRNZW51ID0gV2ViSW5zcGVjdG9yLkNvbnRleHRNZW51LmNyZWF0ZUZyb21FdmVudChldmVu
dCk7CkBAIC0xMTgwLDYgKzExOTEsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBE
YXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICAgICAgaWYgKGdyaWROb2Rl
ICYmIGdyaWROb2RlLnNlbGVjdGFibGUgJiYgZ3JpZE5vZGUuY29weWFibGUgJiYgIWdyaWROb2Rl
LmlzRXZlbnRXaXRoaW5EaXNjbG9zdXJlVHJpYW5nbGUoZXZlbnQpKSB7CiAgICAgICAgICAgICBj
b250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29weSBSb3ciKSwg
dGhpcy5fY29weVJvdy5iaW5kKHRoaXMsIGV2ZW50LnRhcmdldCkpOworICAgICAgICAgICAgY29u
dGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvcHkgVGFibGUiKSwg
dGhpcy5fY29weVRhYmxlLmJpbmQodGhpcykpOwogCiAgICAgICAgICAgICBpZiAodGhpcy5kYXRh
R3JpZC5fZWRpdENhbGxiYWNrKSB7CiAgICAgICAgICAgICAgICAgaWYgKGdyaWROb2RlID09PSB0
aGlzLnBsYWNlaG9sZGVyTm9kZSkKQEAgLTEyMjksOSArMTI0MSwxNSBAQCBXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAg
ICAgIHZhciBmaWVsZHMgPSBbXTsKICAgICAgICAgZm9yICh2YXIgaWRlbnRpZmllciBvZiBub2Rl
LmRhdGFHcmlkLm9yZGVyZWRDb2x1bW5zKQogICAgICAgICAgICAgZmllbGRzLnB1c2godGhpcy50
ZXh0Rm9yRGF0YUdyaWROb2RlQ29sdW1uKG5vZGUsIGlkZW50aWZpZXIpKTsKKyAgICAgICAgcmV0
dXJuIGZpZWxkcy5qb2luKCJcdCIpOworICAgIH0KIAotICAgICAgICB2YXIgdGFiU2VwYXJhdGVk
VmFsdWVzID0gZmllbGRzLmpvaW4oIlx0Iik7Ci0gICAgICAgIHJldHVybiB0YWJTZXBhcmF0ZWRW
YWx1ZXM7CisgICAgX2NvcHlUZXh0Rm9yRGF0YUdyaWRIZWFkZXJzKCkKKyAgICB7CisgICAgICAg
IHZhciBmaWVsZHMgPSBbXTsKKyAgICAgICAgZm9yICh2YXIgaWRlbnRpZmllciBvZiB0aGlzLm9y
ZGVyZWRDb2x1bW5zKQorICAgICAgICAgICAgZmllbGRzLnB1c2godGhpcy5oZWFkZXJUYWJsZUhl
YWRlcihpZGVudGlmaWVyKS50ZXh0Q29udGVudCk7CisgICAgICAgIHJldHVybiBmaWVsZHMuam9p
bigiXHQiKTsKICAgICB9CiAKICAgICBoYW5kbGVCZWZvcmVDb3B5RXZlbnQoZXZlbnQpCkBAIC0x
MjYxLDYgKzEyNzksMjUgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y29weVRleHQoY29weVRleHQpOwogICAgIH0KIAorICAgIF9jb3B5VGFibGUoKQorICAgIHsKKyAg
ICAgICAgbGV0IGNvcHlEYXRhID0gW107CisgICAgICAgIGNvcHlEYXRhLnB1c2godGhpcy5fY29w
eVRleHRGb3JEYXRhR3JpZEhlYWRlcnMoKSk7CisgICAgICAgIGZvciAobGV0IGdyaWROb2RlIG9m
IHRoaXMuY2hpbGRyZW4pIHsKKyAgICAgICAgICAgIGlmICghZ3JpZE5vZGUuY29weWFibGUpCisg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBjb3B5RGF0YS5wdXNoKHRoaXMu
X2NvcHlUZXh0Rm9yRGF0YUdyaWROb2RlKGdyaWROb2RlKSk7CisgICAgICAgIH0KKworICAgICAg
ICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY29weVRleHQoY29weURhdGEuam9pbigiXG4iKSk7Cisg
ICAgfQorCisgICAgX2hhc0NvcHlhYmxlRGF0YSgpCisgICAgeworICAgICAgICBsZXQgZ3JpZE5v
ZGUgPSB0aGlzLmNoaWxkcmVuWzBdOworICAgICAgICByZXR1cm4gZ3JpZE5vZGUgJiYgZ3JpZE5v
ZGUuc2VsZWN0YWJsZSAmJiBncmlkTm9kZS5jb3B5YWJsZTsKKyAgICB9CisKICAgICBnZXQgcmVz
aXplTWV0aG9kKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fcmVzaXplTWV0aG9kKQo=
</data>
<flag name="review"
          id="295806"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270960</attachid>
            <date>2016-02-09 16:13:46 -0800</date>
            <delta_ts>2016-02-09 17:13:41 -0800</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-5.patch</filename>
            <type>text/plain</type>
            <size>5481</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGQ4OGViODkuLjliNzY1MGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMxIEBACiAyMDE2LTAyLTA5ICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWxsb3cg
Y29weWluZyBhbGwgaGVhZGVycyBpbiB0aGUgcmVxdWVzdC9yZXNwb25zZSBoZWFkZXIgdGFibGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQwNDgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0NTc2MzAyPgorCisgICAgICAgIFJldmlld2VkIGJ5
IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9j
YWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgTmV3ICJDb3B5IFRhYmxlIiBzdHJpbmcuCisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRhdGFHcmlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5
cGUuX2NvbnRleHRNZW51SW5IZWFkZXIpOgorICAgICAgICBBZGQgY29udGV4dCBtZW51IHN1cHBv
cnQgZm9yIHRhYmxlIGhlYWRlciBjZWxscywgYW5kIGdpdmUgdGhlbSBhCisgICAgICAgICJDb3B5
IFRhYmxlIiBjb250ZXh0IG1lbnUgaWYgdGhlcmUgaXMgY29weWFibGUgZGF0YS4KKworICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLnByb3RvdHlwZS5fY29udGV4dE1lbnVJbkRhdGFUYWJs
ZSk6CisgICAgICAgIEFkZCAiQ29weSBUYWJsZSIgY29udGV4dCBtZW51IGZvciBjb3B5YWJsZSBy
b3dzLgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlLl9jb3B5VGV4
dEZvckRhdGFHcmlkTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90
eXBlLl9jb3B5VGV4dEZvckRhdGFHcmlkSGVhZGVycyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQucHJvdG90eXBlLl9jb3B5VGFibGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRh
dGFHcmlkLnByb3RvdHlwZS5faGFzQ29weWFibGVEYXRhKToKKyAgICAgICAgSGVscGVycyBmb3Ig
ZGV0ZXJtaW5pbmcgY29weWFiaWxpdHkgYW5kIGNvcHlpbmcgdGFiIHNlcGFyYXRlZCBkYXRhLgor
CisyMDE2LTAyLTA5ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogbG9jYWxTdG9yYWdlIGluc3BlY3RvciB2ZXJ5IHNsb3cgb24g
YmlnIHZhbHVlcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTIzNzUwCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNTM4NDkzMD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDJjYTYzMDVkMDYyNDQwZDlmZGNlNDhhODEwMGMxMDll
NWM3MjBmZTMuLjc4NWVmMDk0MTEyYmE5MjdmNGIzMTQwZDU5MTk3OGUxODZjMTZlOGIgMTAwNjQ0
CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgNTYKemNtZUJKJG9neXs+eFRVeWlYalklM2BxPCo0NTx1
QzQ2eklmNDdOYjUjTmY9MyZyclpuMzFvKiVIZ0diWFRwUEA+CkpkNElecy12RitKNTkwczsKCmRl
bHRhIDE0CldjbWFGMWtoTm5XPnhUVXluYEp7IXtzc1V3aVUoJV4KCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCmluZGV4IGM5
ZjQzZjAuLjkyMDMyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBAIC02MCw2ICs2MCw3IEBAIFdlYkluc3BlY3Rv
ci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAg
ICAgICAgdGhpcy5faGVhZGVyVGFibGVDb2x1bW5Hcm91cEVsZW1lbnQgPSB0aGlzLl9oZWFkZXJU
YWJsZUVsZW1lbnQuY3JlYXRlQ2hpbGQoImNvbGdyb3VwIik7CiAgICAgICAgIHRoaXMuX2hlYWRl
clRhYmxlQm9keUVsZW1lbnQgPSB0aGlzLl9oZWFkZXJUYWJsZUVsZW1lbnQuY3JlYXRlQ2hpbGQo
InRib2R5Iik7CiAgICAgICAgIHRoaXMuX2hlYWRlclRhYmxlUm93RWxlbWVudCA9IHRoaXMuX2hl
YWRlclRhYmxlQm9keUVsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIik7CisgICAgICAgIHRoaXMuX2hl
YWRlclRhYmxlUm93RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMu
X2NvbnRleHRNZW51SW5IZWFkZXIuYmluZCh0aGlzKSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMuX2hl
YWRlclRhYmxlQ2VsbEVsZW1lbnRzID0gbmV3IE1hcDsKIAogICAgICAgICB0aGlzLl9zY3JvbGxD
b250YWluZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CkBAIC0xMTcw
LDYgKzExNzEsMTYgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICAgICAgZ3JpZE5vZGUuc2VsZWN0KCk7CiAg
ICAgfQogCisgICAgX2NvbnRleHRNZW51SW5IZWFkZXIoZXZlbnQpCisgICAgeworICAgICAgICBs
ZXQgY29udGV4dE1lbnUgPSBXZWJJbnNwZWN0b3IuQ29udGV4dE1lbnUuY3JlYXRlRnJvbUV2ZW50
KGV2ZW50KTsKKworICAgICAgICBpZiAodGhpcy5faGFzQ29weWFibGVEYXRhKCkpCisgICAgICAg
ICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29weSBU
YWJsZSIpLCB0aGlzLl9jb3B5VGFibGUuYmluZCh0aGlzKSk7CisKKyAgICAgICAgLy8gRklYTUU6
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTQwNTA+IFdlYiBJbnNwZWN0b3I6IERhdGFHcmlkIEhl
YWRlciBDZWxscyBzaG91bGQgaGF2ZSBDb250ZXh0IE1lbnUgZm9yIFNvcnRpbmcKKyAgICB9CisK
ICAgICBfY29udGV4dE1lbnVJbkRhdGFUYWJsZShldmVudCkKICAgICB7CiAgICAgICAgIGxldCBj
b250ZXh0TWVudSA9IFdlYkluc3BlY3Rvci5Db250ZXh0TWVudS5jcmVhdGVGcm9tRXZlbnQoZXZl
bnQpOwpAQCAtMTE4MCw2ICsxMTkxLDcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3Mg
RGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgICAgIGlmIChncmlkTm9k
ZSAmJiBncmlkTm9kZS5zZWxlY3RhYmxlICYmIGdyaWROb2RlLmNvcHlhYmxlICYmICFncmlkTm9k
ZS5pc0V2ZW50V2l0aGluRGlzY2xvc3VyZVRyaWFuZ2xlKGV2ZW50KSkgewogICAgICAgICAgICAg
Y29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvcHkgUm93Iiks
IHRoaXMuX2NvcHlSb3cuYmluZCh0aGlzLCBldmVudC50YXJnZXQpKTsKKyAgICAgICAgICAgIGNv
bnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb3B5IFRhYmxlIiks
IHRoaXMuX2NvcHlUYWJsZS5iaW5kKHRoaXMpKTsKIAogICAgICAgICAgICAgaWYgKHRoaXMuZGF0
YUdyaWQuX2VkaXRDYWxsYmFjaykgewogICAgICAgICAgICAgICAgIGlmIChncmlkTm9kZSA9PT0g
dGhpcy5wbGFjZWhvbGRlck5vZGUpCkBAIC0xMjI2LDEyICsxMjM4LDE0IEBAIFdlYkluc3BlY3Rv
ci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAog
ICAgIF9jb3B5VGV4dEZvckRhdGFHcmlkTm9kZShub2RlKQogICAgIHsKLSAgICAgICAgdmFyIGZp
ZWxkcyA9IFtdOwotICAgICAgICBmb3IgKHZhciBpZGVudGlmaWVyIG9mIG5vZGUuZGF0YUdyaWQu
b3JkZXJlZENvbHVtbnMpCi0gICAgICAgICAgICBmaWVsZHMucHVzaCh0aGlzLnRleHRGb3JEYXRh
R3JpZE5vZGVDb2x1bW4obm9kZSwgaWRlbnRpZmllcikpOworICAgICAgICBsZXQgZmllbGRzID0g
bm9kZS5kYXRhR3JpZC5vcmRlcmVkQ29sdW1ucy5tYXAoKGlkZW50aWZpZXIpID0+IHRoaXMudGV4
dEZvckRhdGFHcmlkTm9kZUNvbHVtbihub2RlLCBpZGVudGlmaWVyKSk7CisgICAgICAgIHJldHVy
biBmaWVsZHMuam9pbigiXHQiKTsKKyAgICB9CiAKLSAgICAgICAgdmFyIHRhYlNlcGFyYXRlZFZh
bHVlcyA9IGZpZWxkcy5qb2luKCJcdCIpOwotICAgICAgICByZXR1cm4gdGFiU2VwYXJhdGVkVmFs
dWVzOworICAgIF9jb3B5VGV4dEZvckRhdGFHcmlkSGVhZGVycygpCisgICAgeworICAgICAgICBs
ZXQgZmllbGRzID0gdGhpcy5vcmRlcmVkQ29sdW1ucy5tYXAoKGlkZW50aWZpZXIpID0+IHRoaXMu
aGVhZGVyVGFibGVIZWFkZXIoaWRlbnRpZmllcikudGV4dENvbnRlbnQpOworICAgICAgICByZXR1
cm4gZmllbGRzLmpvaW4oIlx0Iik7CiAgICAgfQogCiAgICAgaGFuZGxlQmVmb3JlQ29weUV2ZW50
KGV2ZW50KQpAQCAtMTI2MSw2ICsxMjc1LDI1IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNs
YXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmNvcHlUZXh0KGNvcHlUZXh0KTsKICAgICB9CiAKKyAgICBfY29weVRhYmxl
KCkKKyAgICB7CisgICAgICAgIGxldCBjb3B5RGF0YSA9IFtdOworICAgICAgICBjb3B5RGF0YS5w
dXNoKHRoaXMuX2NvcHlUZXh0Rm9yRGF0YUdyaWRIZWFkZXJzKCkpOworICAgICAgICBmb3IgKGxl
dCBncmlkTm9kZSBvZiB0aGlzLmNoaWxkcmVuKSB7CisgICAgICAgICAgICBpZiAoIWdyaWROb2Rl
LmNvcHlhYmxlKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgY29weURh
dGEucHVzaCh0aGlzLl9jb3B5VGV4dEZvckRhdGFHcmlkTm9kZShncmlkTm9kZSkpOworICAgICAg
ICB9CisKKyAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNvcHlUZXh0KGNvcHlEYXRhLmpv
aW4oIlxuIikpOworICAgIH0KKworICAgIF9oYXNDb3B5YWJsZURhdGEoKQorICAgIHsKKyAgICAg
ICAgbGV0IGdyaWROb2RlID0gdGhpcy5jaGlsZHJlblswXTsKKyAgICAgICAgcmV0dXJuIGdyaWRO
b2RlICYmIGdyaWROb2RlLnNlbGVjdGFibGUgJiYgZ3JpZE5vZGUuY29weWFibGU7CisgICAgfQor
CiAgICAgZ2V0IHJlc2l6ZU1ldGhvZCgpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3Jlc2l6
ZU1ldGhvZCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>