<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[202009] trunk/Source/WebInspectorUI</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/202009">202009</a></dd>
<dt>Author</dt> <dd>mattbaker@apple.com</dd>
<dt>Date</dt> <dd>2016-06-13 15:41:54 -0700 (Mon, 13 Jun 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Add ability to show/hide DataGird columns
https://bugs.webkit.org/show_bug.cgi?id=158676
&lt;rdar://problem/26761573&gt;

Reviewed by Timothy Hatcher.

Make it possible to show/hide grid columns using the grid header
context menu. This patch enables the new behavior for most of the
timeline grids.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.get identifier):
(WebInspector.DataGrid.prototype.set identifier):
An identifier for the grid instance, for managing per-grid settings.
Setting the id causes settings to be created, and their values to be
applied to the grid.

(WebInspector.DataGrid.prototype.get columnChooserEnabled):
(WebInspector.DataGrid.prototype.set columnChooserEnabled):
Enable showing/hiding columns via the grid header.

(WebInspector.DataGrid.prototype.insertColumn):
(WebInspector.DataGrid.prototype.showColumn):
Set column visibility and hidden column setting, then perform layout.

(WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
(WebInspector.DataGrid.prototype._contextMenuInHeader):
Create column chooser menu items if necessary.

(WebInspector.DataGrid.prototype._showColumn): Deleted.
(WebInspector.DataGrid.prototype._hideColumn): Deleted.
Replaced by `showColumn`.

* UserInterface/Views/LayoutTimelineView.js:
(WebInspector.LayoutTimelineView):
Always show &quot;type&quot; and &quot;name&quot; columns.

* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView):
* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView):
* UserInterface/Views/ScriptDetailsTimelineView.js:
(WebInspector.ScriptDetailsTimelineView):
Always show &quot;name&quot; column.

* UserInterface/Views/TimelineDataGrid.js:
(WebInspector.TimelineDataGrid):
Enable column chooser.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDataGridjs">trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsLayoutTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsNetworkTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsRenderingFrameTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsScriptDetailsTimelineViewjs">trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsTimelineDataGridjs">trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/ChangeLog        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -1,3 +1,55 @@
</span><ins>+2016-06-13  Matt Baker  &lt;mattbaker@apple.com&gt;
+
+        Web Inspector: Add ability to show/hide DataGird columns
+        https://bugs.webkit.org/show_bug.cgi?id=158676
+        &lt;rdar://problem/26761573&gt;
+
+        Reviewed by Timothy Hatcher.
+
+        Make it possible to show/hide grid columns using the grid header
+        context menu. This patch enables the new behavior for most of the
+        timeline grids.
+
+        * UserInterface/Views/DataGrid.js:
+        (WebInspector.DataGrid):
+        (WebInspector.DataGrid.prototype.get identifier):
+        (WebInspector.DataGrid.prototype.set identifier):
+        An identifier for the grid instance, for managing per-grid settings.
+        Setting the id causes settings to be created, and their values to be
+        applied to the grid.
+
+        (WebInspector.DataGrid.prototype.get columnChooserEnabled):
+        (WebInspector.DataGrid.prototype.set columnChooserEnabled):
+        Enable showing/hiding columns via the grid header.
+
+        (WebInspector.DataGrid.prototype.insertColumn):
+        (WebInspector.DataGrid.prototype.showColumn):
+        Set column visibility and hidden column setting, then perform layout.
+
+        (WebInspector.DataGrid.prototype._collapseColumnGroupWithCell):
+        (WebInspector.DataGrid.prototype._contextMenuInHeader):
+        Create column chooser menu items if necessary.
+
+        (WebInspector.DataGrid.prototype._showColumn): Deleted.
+        (WebInspector.DataGrid.prototype._hideColumn): Deleted.
+        Replaced by `showColumn`.
+
+        * UserInterface/Views/LayoutTimelineView.js:
+        (WebInspector.LayoutTimelineView):
+        Always show &quot;type&quot; and &quot;name&quot; columns.
+
+        * UserInterface/Views/NetworkTimelineView.js:
+        (WebInspector.NetworkTimelineView):
+        * UserInterface/Views/RenderingFrameTimelineView.js:
+        (WebInspector.RenderingFrameTimelineView):
+        * UserInterface/Views/ScriptDetailsTimelineView.js:
+        (WebInspector.ScriptDetailsTimelineView):
+        Always show &quot;name&quot; column.
+
+        * UserInterface/Views/TimelineDataGrid.js:
+        (WebInspector.TimelineDataGrid):
+        Enable column chooser.
+
</ins><span class="cx"> 2016-06-10  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: &lt;template&gt; content should not be hidden as Shadow Content
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDataGridjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DataGrid.js        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -32,10 +32,12 @@
</span><span class="cx">         this.columns = new Map;
</span><span class="cx">         this.orderedColumns = [];
</span><span class="cx"> 
</span><ins>+        this._identifier = null;
</ins><span class="cx">         this._sortColumnIdentifier = null;
</span><span class="cx">         this._sortColumnIdentifierSetting = null;
</span><span class="cx">         this._sortOrder = WebInspector.DataGrid.SortOrder.Indeterminate;
</span><span class="cx">         this._sortOrderSetting = null;
</span><ins>+        this._hiddenColumnSetting = null;
</ins><span class="cx"> 
</span><span class="cx">         this._rows = [];
</span><span class="cx"> 
</span><span class="lines">@@ -206,6 +208,30 @@
</span><span class="cx">         return dataGrid;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    get identifier() { return this._identifier; }
+
+    set identifier(x)
+    {
+        console.assert(x &amp;&amp; typeof x === &quot;string&quot;);
+
+        if (this._identifier === x)
+            return;
+
+        this._identifier = x;
+
+        // FIXME: Add sortColumnIdentifierSetting and sortOrderSetting as part of &lt;webkit.org/b/158675&gt;.
+        this._hiddenColumnSetting = new WebInspector.Setting(this._identifier + &quot;-hidden-columns&quot;, []);
+
+        if (!this.columns)
+            return;
+
+        for (let columnIdentifier of this._hiddenColumnSetting.value)
+            this.showColumn(columnIdentifier, false);
+    }
+
+    get columnChooserEnabled() { return this._columnChooserEnabled; }
+    set columnChooserEnabled(x) { this._columnChooserEnabled = x; }
+
</ins><span class="cx">     get refreshCallback()
</span><span class="cx">     {
</span><span class="cx">         return this._refreshCallback;
</span><span class="lines">@@ -733,8 +759,7 @@
</span><span class="cx"> 
</span><span class="cx">         listeners.install();
</span><span class="cx"> 
</span><del>-        if (column[&quot;hidden&quot;])
-            this._hideColumn(columnIdentifier);
</del><ins>+        this.showColumn(columnIdentifier, !column.hidden);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     removeColumn(columnIdentifier)
</span><span class="lines">@@ -873,20 +898,29 @@
</span><span class="cx">         return !this.columns.get(columnIdentifier)[&quot;hidden&quot;];
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    _showColumn(columnIdentifier)
</del><ins>+    showColumn(columnIdentifier, visible)
</ins><span class="cx">     {
</span><del>-        this.columns.get(columnIdentifier)[&quot;hidden&quot;] = false;
-    }
</del><ins>+        let column = this.columns.get(columnIdentifier);
+        console.assert(column, &quot;Missing column info for identifier: &quot; + columnIdentifier);
</ins><span class="cx"> 
</span><del>-    _hideColumn(columnIdentifier)
-    {
-        var column = this.columns.get(columnIdentifier);
-        column[&quot;hidden&quot;] = true;
</del><ins>+        if (!column || visible === !column.hidden)
+            return;
</ins><span class="cx"> 
</span><del>-        var columnElement = column[&quot;element&quot;];
-        columnElement.style.width = 0;
</del><ins>+        column.element.style.width = visible ? column.width : 0;
+        column.hidden = !visible;
</ins><span class="cx"> 
</span><ins>+        if (this._hiddenColumnSetting) {
+            let hiddenColumns = this._hiddenColumnSetting.value.slice();
+            if (column.hidden)
+                hiddenColumns.push(columnIdentifier);
+            else
+                hiddenColumns.remove(columnIdentifier);
+
+            this._hiddenColumnSetting.value = hiddenColumns;
+        }
+
</ins><span class="cx">         this._columnWidthsInitialized = false;
</span><ins>+        this.updateLayout();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     get scrollContainer()
</span><span class="lines">@@ -1488,10 +1522,9 @@
</span><span class="cx"> 
</span><span class="cx">         this.willToggleColumnGroup(cell.collapsesGroup, columnsWillCollapse);
</span><span class="cx"> 
</span><del>-        var showOrHide = columnsWillCollapse ? this._hideColumn : this._showColumn;
</del><span class="cx">         for (var [identifier, column] of this.columns) {
</span><span class="cx">             if (column[&quot;group&quot;] === cell.collapsesGroup)
</span><del>-                showOrHide.call(this, identifier);
</del><ins>+                this.showColumn(identifier, !columnsWillCollapse);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         var collapserButton = cell.querySelector(&quot;.collapser-button&quot;);
</span><span class="lines">@@ -1551,22 +1584,48 @@
</span><span class="cx">         if (this._hasCopyableData())
</span><span class="cx">             contextMenu.appendItem(WebInspector.UIString(&quot;Copy Table&quot;), this._copyTable.bind(this));
</span><span class="cx"> 
</span><del>-        let cell = event.target.enclosingNodeOrSelfWithNodeName(&quot;th&quot;);
-        if (cell &amp;&amp; cell.columnIdentifier &amp;&amp; cell.classList.contains(WebInspector.DataGrid.SortableColumnStyleClassName)) {
</del><ins>+        let headerCellElement = event.target.enclosingNodeOrSelfWithNodeName(&quot;th&quot;);
+        if (!headerCellElement)
+            return;
+
+        let columnIdentifier = headerCellElement.columnIdentifier;
+        let column = this.columns.get(columnIdentifier);
+        console.assert(column, &quot;Missing column info for identifier: &quot; + columnIdentifier);
+        if (!column)
+            return;
+
+        if (column.sortable) {
</ins><span class="cx">             contextMenu.appendSeparator();
</span><span class="cx"> 
</span><del>-            if (this.sortColumnIdentifier !== cell.columnIdentifier || this.sortOrder !== WebInspector.DataGrid.SortOrder.Ascending) {
</del><ins>+            if (this.sortColumnIdentifier !== columnIdentifier || this.sortOrder !== WebInspector.DataGrid.SortOrder.Ascending) {
</ins><span class="cx">                 contextMenu.appendItem(WebInspector.UIString(&quot;Sort Ascending&quot;), () =&gt; {
</span><del>-                    this._selectSortColumnAndSetOrder(cell.columnIdentifier, WebInspector.DataGrid.SortOrder.Ascending);
</del><ins>+                    this._selectSortColumnAndSetOrder(columnIdentifier, WebInspector.DataGrid.SortOrder.Ascending);
</ins><span class="cx">                 });
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if (this.sortColumnIdentifier !== cell.columnIdentifier || this.sortOrder !== WebInspector.DataGrid.SortOrder.Descending) {
</del><ins>+            if (this.sortColumnIdentifier !== columnIdentifier || this.sortOrder !== WebInspector.DataGrid.SortOrder.Descending) {
</ins><span class="cx">                 contextMenu.appendItem(WebInspector.UIString(&quot;Sort Descending&quot;), () =&gt; {
</span><del>-                    this._selectSortColumnAndSetOrder(cell.columnIdentifier, WebInspector.DataGrid.SortOrder.Descending);
</del><ins>+                    this._selectSortColumnAndSetOrder(columnIdentifier, WebInspector.DataGrid.SortOrder.Descending);
</ins><span class="cx">                 });
</span><span class="cx">             }
</span><span class="cx">         }
</span><ins>+
+        if (!this._columnChooserEnabled)
+            return;
+
+        let didAddSeparator = false;
+
+        for (let [identifier, columnInfo] of this.columns) {
+            if (columnInfo.locked)
+                continue;
+
+            if (!didAddSeparator) {
+                contextMenu.appendSeparator();
+                didAddSeparator = true;
+            }
+
+            contextMenu.appendCheckboxItem(columnInfo.title, () =&gt; { this.showColumn(identifier, columnInfo.hidden); }, !columnInfo.hidden);
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _contextMenuInDataTable(event)
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsLayoutTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayoutTimelineView.js        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -44,9 +44,11 @@
</span><span class="cx"> 
</span><span class="cx">         columns.type.scopeBar = WebInspector.TimelineDataGrid.createColumnScopeBar(&quot;layout&quot;, typeToLabelMap);
</span><span class="cx">         columns.type.hidden = true;
</span><ins>+        columns.type.locked = true;
</ins><span class="cx"> 
</span><span class="cx">         columns.name.disclosure = true;
</span><span class="cx">         columns.name.icon = true;
</span><ins>+        columns.name.locked = true;
</ins><span class="cx"> 
</span><span class="cx">         this._scopeBar = columns.type.scopeBar;
</span><span class="cx"> 
</span><span class="lines">@@ -75,6 +77,9 @@
</span><span class="cx"> 
</span><span class="cx">         this.setupDataGrid(this._dataGrid);
</span><span class="cx"> 
</span><ins>+        this._dataGrid.identifier = &quot;layout-timeline-view&quot;;
+
+        // FIXME: Remove once &lt;webkit.org/b/158675&gt; is fixed.
</ins><span class="cx">         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting(&quot;layout-timeline-view-sort&quot;, &quot;startTime&quot;);
</span><span class="cx">         this._dataGrid.sortOrderSetting = new WebInspector.Setting(&quot;layout-timeline-view-sort-order&quot;, WebInspector.DataGrid.SortOrder.Ascending);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsNetworkTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NetworkTimelineView.js        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx">         columns.name.title = WebInspector.UIString(&quot;Name&quot;);
</span><span class="cx">         columns.name.icon = true;
</span><span class="cx">         columns.name.width = &quot;10%&quot;;
</span><ins>+        columns.name.locked = true;
</ins><span class="cx"> 
</span><span class="cx">         columns.domain.title = WebInspector.UIString(&quot;Domain&quot;);
</span><span class="cx">         columns.domain.width = &quot;10%&quot;;
</span><span class="lines">@@ -88,7 +89,10 @@
</span><span class="cx">             columns[column].sortable = true;
</span><span class="cx"> 
</span><span class="cx">         this._dataGrid = new WebInspector.TimelineDataGrid(columns);
</span><ins>+        this._dataGrid.identifier = &quot;network-timeline-view&quot;;
</ins><span class="cx">         this._dataGrid.sortDelegate = this;
</span><ins>+
+        // FIXME: Remove once &lt;webkit.org/b/158675&gt; is fixed.
</ins><span class="cx">         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting(&quot;network-timeline-view-sort&quot;, &quot;requestSent&quot;);
</span><span class="cx">         this._dataGrid.sortOrderSetting = new WebInspector.Setting(&quot;network-timeline-view-sort-order&quot;, WebInspector.DataGrid.SortOrder.Ascending);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsRenderingFrameTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/RenderingFrameTimelineView.js        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx">         columns.name.width = &quot;20%&quot;;
</span><span class="cx">         columns.name.icon = true;
</span><span class="cx">         columns.name.disclosure = true;
</span><ins>+        columns.name.locked = true;
</ins><span class="cx"> 
</span><span class="cx">         columns.totalTime.title = WebInspector.UIString(&quot;Total Time&quot;);
</span><span class="cx">         columns.totalTime.width = &quot;15%&quot;;
</span><span class="lines">@@ -77,6 +78,9 @@
</span><span class="cx">             columns[column].sortable = true;
</span><span class="cx"> 
</span><span class="cx">         this._dataGrid = new WebInspector.TimelineDataGrid(columns);
</span><ins>+        this._dataGrid.identifier = &quot;rendering-frame-timeline-view&quot;;
+
+        // FIXME: Remove once &lt;webkit.org/b/158675&gt; is fixed.
</ins><span class="cx">         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting(&quot;rendering-frame-timeline-view-sort&quot;, &quot;startTime&quot;);
</span><span class="cx">         this._dataGrid.sortOrderSetting = new WebInspector.Setting(&quot;rendering-frame-timeline-view-sort-order&quot;, WebInspector.DataGrid.SortOrder.Ascending);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsScriptDetailsTimelineViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScriptDetailsTimelineView.js        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx">         columns.name.width = &quot;10%&quot;;
</span><span class="cx">         columns.name.icon = true;
</span><span class="cx">         columns.name.disclosure = true;
</span><ins>+        columns.name.locked = true;
</ins><span class="cx"> 
</span><span class="cx">         columns.location.title = WebInspector.UIString(&quot;Location&quot;);
</span><span class="cx">         columns.location.icon = true;
</span><span class="lines">@@ -72,7 +73,10 @@
</span><span class="cx">             columns[column].sortable = true;
</span><span class="cx"> 
</span><span class="cx">         this._dataGrid = new WebInspector.ScriptTimelineDataGrid(columns);
</span><ins>+        this._dataGrid.identifier = &quot;script-timeline-view&quot;;
</ins><span class="cx">         this._dataGrid.sortDelegate = this;
</span><ins>+
+        // FIXME: Remove once &lt;webkit.org/b/158675&gt; is fixed.
</ins><span class="cx">         this._dataGrid.sortColumnIdentifierSetting = new WebInspector.Setting(&quot;script-timeline-view-sort&quot;, &quot;startTime&quot;);
</span><span class="cx">         this._dataGrid.sortOrderSetting = new WebInspector.Setting(&quot;script-timeline-view-sort-order&quot;, WebInspector.DataGrid.SortOrder.Ascending);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsTimelineDataGridjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js (202008 => 202009)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js        2016-06-13 22:25:52 UTC (rev 202008)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/TimelineDataGrid.js        2016-06-13 22:41:54 UTC (rev 202009)
</span><span class="lines">@@ -58,6 +58,8 @@
</span><span class="cx">         this.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._sort, this);
</span><span class="cx"> 
</span><span class="cx">         window.addEventListener(&quot;resize&quot;, this);
</span><ins>+
+        this.columnChooserEnabled = true;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     static createColumnScopeBar(prefix, map)
</span></span></pre>
</div>
</div>

</body>
</html>