<?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>154050</bug_id>
          
          <creation_ts>2016-02-09 15:12:49 -0800</creation_ts>
          <short_desc>Web Inspector: DataGrid Header Cells should have Context Menu for Sorting</short_desc>
          <delta_ts>2016-02-13 01:37:03 -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>WebKit 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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>hi</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>1163303</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-09 15:12:49 -0800</bug_when>
    <thetext>* SUMMARY
DataGrid Header Cells should have Context Menu for Sorting

* STEPS TO REPRODUCE
1. Inspect this page
2. Show Network tab
3. Right click a DataGrid header
  =&gt; expected sort options

* NOTES
- Should check if column is sortable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164492</commentid>
    <comment_count>1</comment_count>
      <attachid>271270</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-02-12 22:02:29 -0800</bug_when>
    <thetext>Created attachment 271270
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164493</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-12 22:02:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/24642716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164494</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-12 22:02:45 -0800</bug_when>
    <thetext>&lt;rdar://problem/24642717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164502</commentid>
    <comment_count>4</comment_count>
      <attachid>271270</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-12 23:38:59 -0800</bug_when>
    <thetext>Comment on attachment 271270
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:956
&gt; +    _selectRowWithSortOrder(columnIdentifier, forcedSortOrder)
&gt; +    {
&gt; +        let determinedSortOrder;
&gt; +        if (this.sortColumnIdentifier === columnIdentifier) {
&gt; +            if (this.sortOrder !== WebInspector.DataGrid.SortOrder.Descending)
&gt; +                determinedSortOrder = WebInspector.DataGrid.SortOrder.Descending;
&gt; +            else
&gt; +                determinedSortOrder = WebInspector.DataGrid.SortOrder.Ascending;
&gt; +        } else
&gt; +            this.sortColumnIdentifier = columnIdentifier;
&gt; +
&gt; +        this.sortOrder = forcedSortOrder || determinedSortOrder;
&gt; +    }

I think readability of this function is really poor.

After reading the code below, the &quot;toggling&quot; case should really only happen in the clicked code and doesn&apos;t need to be here.

I&apos;d recommend something like:

    _toggledSortOrder()
    {
        return this._sortOrder !== WebInspector.DataGrid.SortOrder.Descending ? WebInspector.DataGrid.SortOrder.Descending : WebInspector.DataGrid.SortOrder.Ascending;
    }

    _selectSortColumnAndSetOrder(columnIdentifier, sortOrder)
   {
        this.sortColumnIdentifier = columnIdentifier;
        this.sortOrder = sortOrder;
   }

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1068
&gt; +        this._selectRowWithSortOrder(cell.columnIdentifier);

Where this would be:

    let sortOrder = this._sortColumnIdentifier === cell.columnIdentifier ? this._toggledSortOrder() : this.sortOrder;
    this._selectSortColumnAndSetOrder(cell.columnIdentifier, sortOrder);

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1189
&gt; +        if (cell &amp;&amp; cell.columnIdentifier &amp;&amp; cell.classList.contains(WebInspector.DataGrid.SortableColumnStyleClassName)) {

I think inside this block you should append a separator, to put the sort options in their own group.

    contextMenu.appendSeparator()

Note, that OS X Mail has a &quot;Sort By &gt; ...&quot; submenu. That could also be added here, with a Check Box next to the current sorted column and a Check Box next to Ascending / Descending. But what you just implemented was exactly what I was thinking when I filed this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164506</commentid>
    <comment_count>5</comment_count>
      <attachid>271276</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-02-13 00:24:24 -0800</bug_when>
    <thetext>Created attachment 271276
Patch

Nice suggestion Joe!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164512</commentid>
    <comment_count>6</comment_count>
      <attachid>271276</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-13 01:23:40 -0800</bug_when>
    <thetext>Comment on attachment 271276
Patch

Clearing flags on attachment: 271276

Committed r196549: &lt;http://trac.webkit.org/changeset/196549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164513</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-13 01:23:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164518</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-13 01:37:03 -0800</bug_when>
    <thetext>&gt; Nice suggestion Joe!

I was super stoked to see this get fixed. I filed it intending to fix it quickly and totally forgot about it. Then I saw you had a patch up and couldn&apos;t stop smiling =). It was exactly what I was looking for!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271270</attachid>
            <date>2016-02-12 22:02:29 -0800</date>
            <delta_ts>2016-02-13 00:24:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-154050-20160212220208.patch</filename>
            <type>text/plain</type>
            <size>5904</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDM1NDVjOWRkM2YwNmI0NGZmM2ZhMTcyNzdjYzU5
ZDliZDRjMmEyYzIuLjQzODlkNjhkMjQ5NWU2NjhmNjkxZmFmNjdlNzRmOWU5YzM4MDJmZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTAyLTEyICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IERhdGFHcmlkIEhlYWRlciBDZWxscyBzaG91bGQgaGF2ZSBDb250ZXh0IE1lbnUgZm9y
IFNvcnRpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE1NDA1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQucHJvdG90eXBlLnNldCBzb3J0T3JkZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRhdGFHcmlkLnByb3RvdHlwZS5fc2VsZWN0Um93V2l0aFNvcnRPcmRlcik6CisgICAgICAgIElm
IHRoZSBnaXZlbiBjb2x1bW4gaXMgdGhlIHNhbWUgYXMgdGhlIHNlbGVjdGVkIGNvbHVtbiwgc3dp
dGNoIHRoZSBzb3J0CisgICAgICAgIG9yZGVyIHRvIHRoZSBvcHBvc2l0ZSBvcmRlciBvciB0aGUg
c3BlY2lmaWVkICJmb3JjZWQiIG9yZGVyLiBPdGhlcndpc2UsCisgICAgICAgIHN3aXRjaCB0aGUg
c2VsZWN0aW9uIHRvIHRoZSBnaXZlbiBjb2x1bW4gYW5kIHNvcnQgYnkgdGhlICJmb3JjZWQiIG9y
ZGVyCisgICAgICAgIGlmIGl0IHdhcyBzcGVjaWZpZWQuCisKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5EYXRhR3JpZC5wcm90b3R5cGUuX2hlYWRlckNlbGxDbGlja2VkKToKKyAgICAgICAgTW92ZWQg
bG9naWMgZm9yIHN3aXRjaGluZyBjZWxscy9zb3J0LW9yZGVyIHRvIGEgc2VwYXJhdGUgZnVuY3Rp
b24gZm9yCisgICAgICAgIGJldHRlciByZXVzYWJpbGl0eS4KKworICAgICAgICAoV2ViSW5zcGVj
dG9yLkRhdGFHcmlkLnByb3RvdHlwZS5fY29udGV4dE1lbnVJbkhlYWRlcik6CisgICAgICAgIEFk
ZHMgY29udGV4dCBtZW51IGl0ZW1zIG9uIERhdGFHcmlkIGhlYWRlciBpdGVtcyB0byBjaGFuZ2Ug
dGhlIGN1cnJlbnQKKyAgICAgICAgc29ydCBvcmRlciB0byB0aGUgc3BlY2lmaWVkIG9yZGVyLiBJ
ZiB0aGUgY29udGV4dCBtZW51IGlzIG9uIHRoZSBzZWxlY3RlZAorICAgICAgICBoZWFkZXIgaXRl
bSwgb25seSBzaG93IHRoZSBzb3J0IG9yZGVyIHRoYXQgaXMgbm90IGN1cnJlbnRseSBhcHBsaWVk
LgorCiAyMDE2LTAyLTEyICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogUmVuYW1lIGRvbUFnZW50IHRvIGRvbVRyZWVNYW5hZ2Vy
IGluIERPTU5vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDk4OWNjZTBi
OGJjODBiNWEzNjNkODZiMGZiYThkYjFlNTM5MWRkY2EuLjM4ZTdjNDYxOThjYmE3MTBjYzY0OWM5
YTdjNGYwOGQ4MzViMDljN2QgMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTE3CnpjbWFG
MWtvRE1OKWBsJk4/JFd+ZjNgR25qMzw/YTY0ODt0fDQ1PHV4M0BPdCROSFU1RlZufEYra1loOXpn
JGNVPQpVKXVRVHY4LSprViowYkdSbnNMNDwwR3Y9OFZnTFhECgpkZWx0YSAxNwpaY21YQE1uRHlD
MClgbCZOPyRYPVVXZjxxMTBzdW9PMjRNZ0kKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCmluZGV4IDkyMDMyODEyYWQ3NjY1
ZTBjMjdmODhmYzFjMmYxODJmNGJmNDg2ODguLjA0MWZmNWU4Nzg5MWYyMmViMWFjMmQxN2YxZGVj
ZWViZWVhYTEwNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBAIC0xODIsNyArMTgyLDcgQEAgV2ViSW5zcGVjdG9y
LkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAg
ICAgc2V0IHNvcnRPcmRlcihvcmRlcikKICAgICB7Ci0gICAgICAgIGlmIChvcmRlciA9PT0gdGhp
cy5fc29ydE9yZGVyKQorICAgICAgICBpZiAoIW9yZGVyIHx8IG9yZGVyID09PSB0aGlzLl9zb3J0
T3JkZXIpCiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5fc29ydE9yZGVyID0g
b3JkZXI7CkBAIC05NDEsNiArOTQxLDIwIEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNsYXNz
IERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgdGJvZHkuYXBwZW5k
Q2hpbGQoZmlsbGVyUm93RWxlbWVudCk7IC8vIFdlIGV4cGVjdCB0byBmaW5kIGEgZmlsbGVyIHJv
dyB3aGVuIGF0dGFjaGluZyBub2Rlcy4KICAgICB9CiAKKyAgICBfc2VsZWN0Um93V2l0aFNvcnRP
cmRlcihjb2x1bW5JZGVudGlmaWVyLCBmb3JjZWRTb3J0T3JkZXIpCisgICAgeworICAgICAgICBs
ZXQgZGV0ZXJtaW5lZFNvcnRPcmRlcjsKKyAgICAgICAgaWYgKHRoaXMuc29ydENvbHVtbklkZW50
aWZpZXIgPT09IGNvbHVtbklkZW50aWZpZXIpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLnNvcnRP
cmRlciAhPT0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkLlNvcnRPcmRlci5EZXNjZW5kaW5nKQorICAg
ICAgICAgICAgICAgIGRldGVybWluZWRTb3J0T3JkZXIgPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWQu
U29ydE9yZGVyLkRlc2NlbmRpbmc7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ZGV0ZXJtaW5lZFNvcnRPcmRlciA9IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIuQXNj
ZW5kaW5nOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRoaXMuc29ydENvbHVtbklkZW50
aWZpZXIgPSBjb2x1bW5JZGVudGlmaWVyOworCisgICAgICAgIHRoaXMuc29ydE9yZGVyID0gZm9y
Y2VkU29ydE9yZGVyIHx8IGRldGVybWluZWRTb3J0T3JkZXI7CisgICAgfQorCiAgICAgX2tleURv
d24oZXZlbnQpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWROb2RlIHx8IGV2ZW50
LnNoaWZ0S2V5IHx8IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSB8fCB0aGlzLl9lZGl0
aW5nKQpAQCAtMTA0NywxOCArMTA2MSwxMSBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFz
cyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBfaGVhZGVyQ2VsbENs
aWNrZWQoZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgY2VsbCA9IGV2ZW50LnRhcmdldC5lbmNs
b3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lKCJ0aCIpOworICAgICAgICBsZXQgY2VsbCA9IGV2
ZW50LnRhcmdldC5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lKCJ0aCIpOwogICAgICAg
ICBpZiAoIWNlbGwgfHwgIWNlbGwuY29sdW1uSWRlbnRpZmllciB8fCAhY2VsbC5jbGFzc0xpc3Qu
Y29udGFpbnMoV2ViSW5zcGVjdG9yLkRhdGFHcmlkLlNvcnRhYmxlQ29sdW1uU3R5bGVDbGFzc05h
bWUpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBjbGlja2VkQ29sdW1uSWRl
bnRpZmllciA9IGNlbGwuY29sdW1uSWRlbnRpZmllcjsKLSAgICAgICAgaWYgKHRoaXMuc29ydENv
bHVtbklkZW50aWZpZXIgPT09IGNsaWNrZWRDb2x1bW5JZGVudGlmaWVyKSB7Ci0gICAgICAgICAg
ICBpZiAodGhpcy5zb3J0T3JkZXIgIT09IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIu
RGVzY2VuZGluZykKLSAgICAgICAgICAgICAgICB0aGlzLnNvcnRPcmRlciA9IFdlYkluc3BlY3Rv
ci5EYXRhR3JpZC5Tb3J0T3JkZXIuRGVzY2VuZGluZzsKLSAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICB0aGlzLnNvcnRPcmRlciA9IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3Jk
ZXIuQXNjZW5kaW5nOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRoaXMuc29ydENvbHVt
bklkZW50aWZpZXIgPSBjbGlja2VkQ29sdW1uSWRlbnRpZmllcjsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0Um93V2l0aFNvcnRPcmRlcihjZWxsLmNvbHVtbklkZW50aWZpZXIpOwogICAgIH0KIAogICAg
IF9tb3VzZW92ZXJDb2x1bW5Db2xsYXBzZXIoZXZlbnQpCkBAIC0xMTc4LDcgKzExODUsMjAgQEAg
V2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuVmlldwogICAgICAgICBpZiAodGhpcy5faGFzQ29weWFibGVEYXRhKCkpCiAgICAgICAgICAg
ICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29weSBUYWJs
ZSIpLCB0aGlzLl9jb3B5VGFibGUuYmluZCh0aGlzKSk7CiAKLSAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNTQwNTA+IFdlYiBJbnNwZWN0b3I6IERhdGFHcmlkIEhlYWRl
ciBDZWxscyBzaG91bGQgaGF2ZSBDb250ZXh0IE1lbnUgZm9yIFNvcnRpbmcKKyAgICAgICAgbGV0
IGNlbGwgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZSgidGgi
KTsKKyAgICAgICAgaWYgKGNlbGwgJiYgY2VsbC5jb2x1bW5JZGVudGlmaWVyICYmIGNlbGwuY2xh
c3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0YWJsZUNvbHVtblN0eWxl
Q2xhc3NOYW1lKSkgeworICAgICAgICAgICAgaWYgKHRoaXMuc29ydENvbHVtbklkZW50aWZpZXIg
IT09IGNlbGwuY29sdW1uSWRlbnRpZmllciB8fCB0aGlzLnNvcnRPcmRlciAhPT0gV2ViSW5zcGVj
dG9yLkRhdGFHcmlkLlNvcnRPcmRlci5Bc2NlbmRpbmcpIHsKKyAgICAgICAgICAgICAgICBjb250
ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU29ydCBBc2NlbmRpbmci
KSwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RSb3dXaXRoU29ydE9y
ZGVyKGNlbGwuY29sdW1uSWRlbnRpZmllciwgV2ViSW5zcGVjdG9yLkRhdGFHcmlkLlNvcnRPcmRl
ci5Bc2NlbmRpbmcpOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBpZiAodGhpcy5zb3J0Q29sdW1uSWRlbnRpZmllciAhPT0gY2VsbC5jb2x1bW5JZGVu
dGlmaWVyIHx8IHRoaXMuc29ydE9yZGVyICE9PSBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuU29ydE9y
ZGVyLkRlc2NlbmRpbmcpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVt
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU29ydCBEZXNjZW5kaW5nIiksICgpID0+IHsKKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fc2VsZWN0Um93V2l0aFNvcnRPcmRlcihjZWxsLmNvbHVtbklk
ZW50aWZpZXIsIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIuRGVzY2VuZGluZyk7Cisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBfY29udGV4dE1lbnVJbkRhdGFUYWJsZShldmVudCkK
</data>
<flag name="review"
          id="296096"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271276</attachid>
            <date>2016-02-13 00:24:24 -0800</date>
            <delta_ts>2016-02-13 01:23:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>154050.diff</filename>
            <type>text/plain</type>
            <size>5767</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDM1NDVjOWQuLjg1OWU1NGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTAyLTEyICBEZXZpbiBSb3Vzc28g
IDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IERh
dGFHcmlkIEhlYWRlciBDZWxscyBzaG91bGQgaGF2ZSBDb250ZXh0IE1lbnUgZm9yIFNvcnRpbmcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDA1MAor
CisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKworICAgICAgICAqIExvY2Fs
aXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFHcmlk
LnByb3RvdHlwZS5zZXQgc29ydE9yZGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3Jp
ZC5wcm90b3R5cGUuX3RvZ2dsZWRTb3J0T3JkZXIpOgorICAgICAgICBSZXR1cm5zIHRoZSBvcHBv
c2l0ZSBzb3J0IG9yZGVyIGZyb20gdGhlIGN1cnJlbnQgb3JkZXIuCisKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX3NlbGVjdFNvcnRDb2x1bW5BbmRTZXRPcmRlcik6
CisgICAgICAgIENoYW5nZXMgdGhlIHNlbGVjdGVkIGNvbHVtbiB0byB0aGUgb25lIHdpdGggdGhl
IHNwZWNpZmllZCBpZGVudGlmaWVyIGFuZAorICAgICAgICB0aGVuIHN3aXRjaGVzIHRoZSBzb3J0
IG9yZGVyIHRvIHRoZSBnaXZlbiBvcmRlci4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFH
cmlkLnByb3RvdHlwZS5faGVhZGVyQ2VsbENsaWNrZWQpOgorICAgICAgICBNb3ZlZCBsb2dpYyBm
b3Igc3dpdGNoaW5nIGNlbGxzL3NvcnQtb3JkZXIgdG8gYSBzZXBhcmF0ZSBmdW5jdGlvbiBmb3IK
KyAgICAgICAgYmV0dGVyIHJldXNhYmlsaXR5LgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0
YUdyaWQucHJvdG90eXBlLl9jb250ZXh0TWVudUluSGVhZGVyKToKKyAgICAgICAgQWRkcyBjb250
ZXh0IG1lbnUgaXRlbXMgb24gRGF0YUdyaWQgaGVhZGVyIGl0ZW1zIHRvIGNoYW5nZSB0aGUgY3Vy
cmVudAorICAgICAgICBzb3J0IG9yZGVyIHRvIHRoZSBzcGVjaWZpZWQgb3JkZXIuIElmIHRoZSBj
b250ZXh0IG1lbnUgaXMgb24gdGhlIHNlbGVjdGVkCisgICAgICAgIGhlYWRlciBpdGVtLCBvbmx5
IHNob3cgdGhlIHNvcnQgb3JkZXIgdGhhdCBpcyBub3QgY3VycmVudGx5IGFwcGxpZWQuCisKIDIw
MTYtMDItMTIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBSZW5hbWUgZG9tQWdlbnQgdG8gZG9tVHJlZU1hbmFnZXIgaW4gRE9N
Tm9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggOTg5Y2NlMGI4YmM4MGI1
YTM2M2Q4NmIwZmJhOGRiMWU1MzkxZGRjYS4uMzhlN2M0NjE5OGNiYTcxMGNjNjQ5YzlhN2M0ZjA4
ZDgzNWIwOWM3ZCAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMTcKemNtYUYxa29ETU4p
YGwmTj8kV35mM2BHbmozPD9hNjQ4O3R8NDU8dXgzQE90JE5IVTVGVm58RitrWWg5emckY1U9ClUp
dVFUdjgtKmtWKjBiR1Juc0w0PDBHdj04VmdMWEQKCmRlbHRhIDE3ClpjbVhATW5EeUMwKWBsJk4/
JFg9VVdmPHExMHN1b08yNE1nSQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKaW5kZXggOTIwMzI4MS4uZWE0YzYyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdy
aWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0
YUdyaWQuanMKQEAgLTE4Miw3ICsxODIsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFz
cyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgc29ydE9yZGVy
KG9yZGVyKQogICAgIHsKLSAgICAgICAgaWYgKG9yZGVyID09PSB0aGlzLl9zb3J0T3JkZXIpCisg
ICAgICAgIGlmICghb3JkZXIgfHwgb3JkZXIgPT09IHRoaXMuX3NvcnRPcmRlcikKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICB0aGlzLl9zb3J0T3JkZXIgPSBvcmRlcjsKQEAgLTk0MSw2
ICs5NDEsMTcgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICB0Ym9keS5hcHBlbmRDaGlsZChmaWxsZXJSb3dF
bGVtZW50KTsgLy8gV2UgZXhwZWN0IHRvIGZpbmQgYSBmaWxsZXIgcm93IHdoZW4gYXR0YWNoaW5n
IG5vZGVzLgogICAgIH0KIAorICAgIF90b2dnbGVkU29ydE9yZGVyKCkKKyAgICB7CisgICAgICAg
IHJldHVybiB0aGlzLl9zb3J0T3JkZXIgIT09IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3Jk
ZXIuRGVzY2VuZGluZyA/IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIuRGVzY2VuZGlu
ZyA6IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIuQXNjZW5kaW5nOworICAgIH0KKwor
ICAgIF9zZWxlY3RTb3J0Q29sdW1uQW5kU2V0T3JkZXIoY29sdW1uSWRlbnRpZmllciwgc29ydE9y
ZGVyKQorICAgIHsKKyAgICAgICAgdGhpcy5zb3J0Q29sdW1uSWRlbnRpZmllciA9IGNvbHVtbklk
ZW50aWZpZXI7CisgICAgICAgIHRoaXMuc29ydE9yZGVyID0gc29ydE9yZGVyOworICAgIH0KKwog
ICAgIF9rZXlEb3duKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTm9k
ZSB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwg
dGhpcy5fZWRpdGluZykKQEAgLTEwNDcsMTggKzEwNTgsMTIgQEAgV2ViSW5zcGVjdG9yLkRhdGFH
cmlkID0gY2xhc3MgRGF0YUdyaWQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgX2hl
YWRlckNlbGxDbGlja2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFyIGNlbGwgPSBldmVudC50
YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZSgidGgiKTsKKyAgICAgICAgbGV0
IGNlbGwgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFtZSgidGgi
KTsKICAgICAgICAgaWYgKCFjZWxsIHx8ICFjZWxsLmNvbHVtbklkZW50aWZpZXIgfHwgIWNlbGwu
Y2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0YWJsZUNvbHVtblN0
eWxlQ2xhc3NOYW1lKSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgY2xpY2tl
ZENvbHVtbklkZW50aWZpZXIgPSBjZWxsLmNvbHVtbklkZW50aWZpZXI7Ci0gICAgICAgIGlmICh0
aGlzLnNvcnRDb2x1bW5JZGVudGlmaWVyID09PSBjbGlja2VkQ29sdW1uSWRlbnRpZmllcikgewot
ICAgICAgICAgICAgaWYgKHRoaXMuc29ydE9yZGVyICE9PSBXZWJJbnNwZWN0b3IuRGF0YUdyaWQu
U29ydE9yZGVyLkRlc2NlbmRpbmcpCi0gICAgICAgICAgICAgICAgdGhpcy5zb3J0T3JkZXIgPSBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQuU29ydE9yZGVyLkRlc2NlbmRpbmc7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgdGhpcy5zb3J0T3JkZXIgPSBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQuU29ydE9yZGVyLkFzY2VuZGluZzsKLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICB0aGlz
LnNvcnRDb2x1bW5JZGVudGlmaWVyID0gY2xpY2tlZENvbHVtbklkZW50aWZpZXI7CisgICAgICAg
IGxldCBzb3J0T3JkZXIgPSB0aGlzLl9zb3J0Q29sdW1uSWRlbnRpZmllciA9PT0gY2VsbC5jb2x1
bW5JZGVudGlmaWVyID8gdGhpcy5fdG9nZ2xlZFNvcnRPcmRlcigpIDogdGhpcy5zb3J0T3JkZXI7
CisgICAgICAgIHRoaXMuX3NlbGVjdFNvcnRDb2x1bW5BbmRTZXRPcmRlcihjZWxsLmNvbHVtbklk
ZW50aWZpZXIsIHNvcnRPcmRlcik7CiAgICAgfQogCiAgICAgX21vdXNlb3ZlckNvbHVtbkNvbGxh
cHNlcihldmVudCkKQEAgLTExNzgsNyArMTE4MywyMiBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQg
PSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIGlmICh0
aGlzLl9oYXNDb3B5YWJsZURhdGEoKSkKICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0
ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb3B5IFRhYmxlIiksIHRoaXMuX2NvcHlUYWJsZS5i
aW5kKHRoaXMpKTsKIAotICAgICAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1
NDA1MD4gV2ViIEluc3BlY3RvcjogRGF0YUdyaWQgSGVhZGVyIENlbGxzIHNob3VsZCBoYXZlIENv
bnRleHQgTWVudSBmb3IgU29ydGluZworICAgICAgICBsZXQgY2VsbCA9IGV2ZW50LnRhcmdldC5l
bmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lKCJ0aCIpOworICAgICAgICBpZiAoY2VsbCAm
JiBjZWxsLmNvbHVtbklkZW50aWZpZXIgJiYgY2VsbC5jbGFzc0xpc3QuY29udGFpbnMoV2ViSW5z
cGVjdG9yLkRhdGFHcmlkLlNvcnRhYmxlQ29sdW1uU3R5bGVDbGFzc05hbWUpKSB7CisgICAgICAg
ICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKKworICAgICAgICAgICAgaWYgKHRo
aXMuc29ydENvbHVtbklkZW50aWZpZXIgIT09IGNlbGwuY29sdW1uSWRlbnRpZmllciB8fCB0aGlz
LnNvcnRPcmRlciAhPT0gV2ViSW5zcGVjdG9yLkRhdGFHcmlkLlNvcnRPcmRlci5Bc2NlbmRpbmcp
IHsKKyAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiU29ydCBBc2NlbmRpbmciKSwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICB0
aGlzLl9zZWxlY3RTb3J0Q29sdW1uQW5kU2V0T3JkZXIoY2VsbC5jb2x1bW5JZGVudGlmaWVyLCBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQuU29ydE9yZGVyLkFzY2VuZGluZyk7CisgICAgICAgICAgICAg
ICAgfSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh0aGlzLnNvcnRDb2x1bW5J
ZGVudGlmaWVyICE9PSBjZWxsLmNvbHVtbklkZW50aWZpZXIgfHwgdGhpcy5zb3J0T3JkZXIgIT09
IFdlYkluc3BlY3Rvci5EYXRhR3JpZC5Tb3J0T3JkZXIuRGVzY2VuZGluZykgeworICAgICAgICAg
ICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTb3J0
IERlc2NlbmRpbmciKSwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RT
b3J0Q29sdW1uQW5kU2V0T3JkZXIoY2VsbC5jb2x1bW5JZGVudGlmaWVyLCBXZWJJbnNwZWN0b3Iu
RGF0YUdyaWQuU29ydE9yZGVyLkRlc2NlbmRpbmcpOworICAgICAgICAgICAgICAgIH0pOworICAg
ICAgICAgICAgfQorICAgICAgICB9CiAgICAgfQogCiAgICAgX2NvbnRleHRNZW51SW5EYXRhVGFi
bGUoZXZlbnQpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>