<!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>[175767] 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/175767">175767</a></dd>
<dt>Author</dt> <dd>joepeck@webkit.org</dd>
<dt>Date</dt> <dd>2014-11-07 15:37:38 -0800 (Fri, 07 Nov 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Web Inspector: Layer summary should be bottom sticky
https://bugs.webkit.org/show_bug.cgi?id=138518

Reviewed by Timothy Hatcher.

Previously only NavigationSidebars had a content view. Now, give all
Sidebars a contentElement section for content.

Update all Details Sidebars to append content to the contentElement
instead of directly to the element. Only two Details sidebars append
to the element:

  - CSSStyleDetailsSidebarPanel for the navigation bar at the top
  - LayerTreeDetailsSidebarPanel for the summary view at the bottom

Take this opportunity to fix up some naming and styles as well.

* UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel):
(WebInspector.SidebarPanel.prototype.get contentElement):
Give every SidebarPanel a content element.

* UserInterface/Views/DetailsSidebarPanel.css: Removed.
(.sidebar &gt; .panel &gt; .content):
* UserInterface/Views/SidebarPanel.css: Added.
(.sidebar &gt; .panel &gt; .content):
And give that content element a default style.

* UserInterface/Views/NavigationSidebarPanel.css:
(.sidebar &gt; .panel.navigation &gt; .content):
* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel):
(WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype.get contentElement): Deleted.
Navigation sidebar panels now use the parent's contentElement.
Also, carry over their default styles, overriding the base.

* UserInterface/Views/LayerTreeDetailsSidebarPanel.js: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js.
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildBottomBar):
Rename LayerTreeSidebarPanel to make it clear this is a DetailsSidebarPanel.
Add the &quot;bottom bar&quot; to the root element, and sections to the contentElement.

* UserInterface/Views/LayerTreeDetailsSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css.
(.sidebar &gt; .layer-tree.panel &gt; .content):
(body.mac-platform.legacy .sidebar &gt; .layer-tree.panel &gt; .content):
Style the bottom bar to pin it to the bottom of the sidebar panel.

(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
Add the navigation bar to the root element, and sections to the contentElement.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
* UserInterface/Main.html:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
Update for new names.

* UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
* UserInterface/Views/DOMDetailsSidebarPanel.js:
(WebInspector.DOMDetailsSidebarPanel):
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
* UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel):
* UserInterface/Views/ProbeDetailsSidebarPanel.js:
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
All details sidebar panels now use the contentElement instead of element for content.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceBaseMainjs">trunk/Source/WebInspectorUI/UserInterface/Base/Main.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceMainhtml">trunk/Source/WebInspectorUI/UserInterface/Main.html</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsApplicationCacheDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsCSSStyleDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDOMDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/DOMDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDOMNodeDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsNavigationSidebarPanelcss">trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsNavigationSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsProbeDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsResourceDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsScopeChainDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxproj">trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj</a></li>
<li><a href="#trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxprojfilters">trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeDetailsSidebarPanelcss">trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeDetailsSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsSidebarPanelcss">trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.css</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDetailsSidebarPanelcss">trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeSidebarPanelcss">trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/ChangeLog        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -1,3 +1,87 @@
</span><ins>+2014-11-07  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
+
+        Web Inspector: Layer summary should be bottom sticky
+        https://bugs.webkit.org/show_bug.cgi?id=138518
+
+        Reviewed by Timothy Hatcher.
+
+        Previously only NavigationSidebars had a content view. Now, give all
+        Sidebars a contentElement section for content.
+
+        Update all Details Sidebars to append content to the contentElement
+        instead of directly to the element. Only two Details sidebars append
+        to the element:
+
+          - CSSStyleDetailsSidebarPanel for the navigation bar at the top
+          - LayerTreeDetailsSidebarPanel for the summary view at the bottom
+
+        Take this opportunity to fix up some naming and styles as well.
+
+        * UserInterface/Views/SidebarPanel.js:
+        (WebInspector.SidebarPanel):
+        (WebInspector.SidebarPanel.prototype.get contentElement):
+        Give every SidebarPanel a content element.
+
+        * UserInterface/Views/DetailsSidebarPanel.css: Removed.
+        (.sidebar &gt; .panel &gt; .content):
+        * UserInterface/Views/SidebarPanel.css: Added.
+        (.sidebar &gt; .panel &gt; .content):
+        And give that content element a default style.
+
+        * UserInterface/Views/NavigationSidebarPanel.css:
+        (.sidebar &gt; .panel.navigation &gt; .content):
+        * UserInterface/Views/NavigationSidebarPanel.js:
+        (WebInspector.NavigationSidebarPanel):
+        (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
+        (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
+        (WebInspector.NavigationSidebarPanel.prototype.get contentElement): Deleted.
+        Navigation sidebar panels now use the parent's contentElement.
+        Also, carry over their default styles, overriding the base.
+
+        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js.
+        (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection):
+        (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
+        (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildBottomBar):
+        Rename LayerTreeSidebarPanel to make it clear this is a DetailsSidebarPanel.
+        Add the &quot;bottom bar&quot; to the root element, and sections to the contentElement.
+
+        * UserInterface/Views/LayerTreeDetailsSidebarPanel.css: Renamed from Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css.
+        (.sidebar &gt; .layer-tree.panel &gt; .content):
+        (body.mac-platform.legacy .sidebar &gt; .layer-tree.panel &gt; .content):
+        Style the bottom bar to pin it to the bottom of the sidebar panel.
+
+        (WebInspector.CSSStyleDetailsSidebarPanel):
+        (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
+        (WebInspector.CSSStyleDetailsSidebarPanel.prototype._navigationItemSelected):
+        Add the navigation bar to the root element, and sections to the contentElement.
+
+        * UserInterface/Base/Main.js:
+        (WebInspector.contentLoaded):
+        * UserInterface/Main.html:
+        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
+        * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
+        Update for new names.
+
+        * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
+        (WebInspector.ApplicationCacheDetailsSidebarPanel):
+        * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
+        * UserInterface/Views/DOMDetailsSidebarPanel.js:
+        (WebInspector.DOMDetailsSidebarPanel):
+        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
+        (WebInspector.DOMNodeDetailsSidebarPanel):
+        * UserInterface/Views/DetailsSidebarPanel.js:
+        (WebInspector.DetailsSidebarPanel):
+        * UserInterface/Views/ProbeDetailsSidebarPanel.js:
+        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
+        (WebInspector.ResourceDetailsSidebarPanel):
+        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
+        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
+        (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
+        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
+        (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.delayedWork):
+        (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
+        All details sidebar panels now use the contentElement instead of element for content.
+
</ins><span class="cx"> 2014-11-07  Timothy Hatcher  &lt;timothy@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Cursor and scroll view jumps around when modifying styles
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceBaseMainjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Main.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Base/Main.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Main.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -306,8 +306,8 @@
</span><span class="cx">         this.domNodeDetailsSidebarPanel, this.cssStyleDetailsSidebarPanel, this.probeDetailsSidebarPanel];
</span><span class="cx"> 
</span><span class="cx">     if (window.LayerTreeAgent) {
</span><del>-        this.layerTreeSidebarPanel = new WebInspector.LayerTreeSidebarPanel;
-        this.detailsSidebarPanels.splice(this.detailsSidebarPanels.length - 1, 0, this.layerTreeSidebarPanel);
</del><ins>+        this.layerTreeDetailsSidebarPanel = new WebInspector.LayerTreeDetailsSidebarPanel;
+        this.detailsSidebarPanels.splice(this.detailsSidebarPanels.length - 1, 0, this.layerTreeDetailsSidebarPanel);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     this.modifierKeys = {altKey: false, metaKey: false, shiftKey: false};
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceMainhtml"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Main.html (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Main.html        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Main.html        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -71,7 +71,6 @@
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/DatabaseTableIcon.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/DebuggerSidebarPanel.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/DetailsSection.css&quot;&gt;
</span><del>-    &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/DetailsSidebarPanel.css&quot;&gt;
</del><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/DividerNavigationItem.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/Editing.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/EventListenerSectionGroup.css&quot;&gt;
</span><span class="lines">@@ -87,7 +86,7 @@
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/ImageResourceContentView.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/IndeterminateProgressSpinner.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/IndexedDatabaseObjectStoreContentView.css&quot;&gt;
</span><del>-    &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/LayerTreeSidebarPanel.css&quot;&gt;
</del><ins>+    &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/LayerTreeDetailsSidebarPanel.css&quot;&gt;
</ins><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/LayoutTimelineOverviewGraph.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/LayoutTimelineView.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/LogContentView.css&quot;&gt;
</span><span class="lines">@@ -117,6 +116,7 @@
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/SearchIcons.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/Section.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/Sidebar.css&quot;&gt;
</span><ins>+    &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/SidebarPanel.css&quot;&gt;
</ins><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/Slider.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/SourceCodeTextEditor.css&quot;&gt;
</span><span class="cx">     &lt;link rel=&quot;stylesheet&quot; href=&quot;Views/StyleRuleIcons.css&quot;&gt;
</span><span class="lines">@@ -392,7 +392,7 @@
</span><span class="cx">     &lt;script src=&quot;Views/IndexedDatabaseObjectStoreTreeElement.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/IndexedDatabaseTreeElement.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/LayerTreeDataGridNode.js&quot;&gt;&lt;/script&gt;
</span><del>-    &lt;script src=&quot;Views/LayerTreeSidebarPanel.js&quot;&gt;&lt;/script&gt;
</del><ins>+    &lt;script src=&quot;Views/LayerTreeDetailsSidebarPanel.js&quot;&gt;&lt;/script&gt;
</ins><span class="cx">     &lt;script src=&quot;Views/LayoutTimelineDataGrid.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/LayoutTimelineDataGridNode.js&quot;&gt;&lt;/script&gt;
</span><span class="cx">     &lt;script src=&quot;Views/LayoutTimelineOverviewGraph.js&quot;&gt;&lt;/script&gt;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsApplicationCacheDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.ApplicationCacheDetailsSidebarPanel = function() {
</del><ins>+WebInspector.ApplicationCacheDetailsSidebarPanel = function()
+{
</ins><span class="cx">     WebInspector.DetailsSidebarPanel.call(this, &quot;application-cache-details&quot;, WebInspector.UIString(&quot;Storage&quot;), WebInspector.UIString(&quot;Storage&quot;), &quot;Images/NavigationItemStorage.svg&quot;);
</span><span class="cx"> 
</span><span class="cx">     this.element.classList.add(WebInspector.ApplicationCacheDetailsSidebarPanel.StyleClassName);
</span><span class="lines">@@ -44,8 +45,8 @@
</span><span class="cx"> 
</span><span class="cx">     this._statusSection = new WebInspector.DetailsSection(&quot;application-cache-status&quot;, WebInspector.UIString(&quot;Status&quot;), [this._statusGroup]);
</span><span class="cx"> 
</span><del>-    this.element.appendChild(this._locationSection.element);
-    this.element.appendChild(this._statusSection.element);
</del><ins>+    this.contentElement.appendChild(this._locationSection.element);
+    this.contentElement.appendChild(this._statusSection.element);
</ins><span class="cx"> 
</span><span class="cx">     WebInspector.applicationCacheManager.addEventListener(WebInspector.ApplicationCacheManager.Event.NetworkStateUpdated, this._networkStateUpdated, this);
</span><span class="cx">     WebInspector.applicationCacheManager.addEventListener(WebInspector.ApplicationCacheManager.Event.FrameManifestStatusChanged, this._frameManifestStatusChanged, this);
</span><span class="lines">@@ -65,6 +66,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.ApplicationCacheDetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.ApplicationCacheDetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.DetailsSidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -148,5 +150,3 @@
</span><span class="cx">         this._statusRow.value = WebInspector.ApplicationCacheDetailsSidebarPanel.Status[this.applicationCacheFrame.status];
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.__proto__ = WebInspector.DetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsCSSStyleDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -31,11 +31,8 @@
</span><span class="cx"> 
</span><span class="cx">     this._navigationBar = new WebInspector.NavigationBar(null, null, &quot;tablist&quot;);
</span><span class="cx">     this._navigationBar.addEventListener(WebInspector.NavigationBar.Event.NavigationItemSelected, this._navigationItemSelected, this);
</span><del>-    this.element.appendChild(this._navigationBar.element);
</del><ins>+    this.element.insertBefore(this._navigationBar.element, this.contentElement);
</ins><span class="cx"> 
</span><del>-    this._contentElement = document.createElement(&quot;div&quot;);
-    this._contentElement.className = WebInspector.CSSStyleDetailsSidebarPanel.ContentStyleClassName;
-
</del><span class="cx">     this._forcedPseudoClassCheckboxes = {};
</span><span class="cx"> 
</span><span class="cx">     if (WebInspector.cssStyleManager.canForcePseudoClasses()) {
</span><span class="lines">@@ -68,11 +65,9 @@
</span><span class="cx">             groupElement.appendChild(labelElement);
</span><span class="cx">         }, this);
</span><span class="cx"> 
</span><del>-        this._contentElement.appendChild(this._forcedPseudoClassContainer);
</del><ins>+        this.contentElement.appendChild(this._forcedPseudoClassContainer);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    this.element.appendChild(this._contentElement);
-
</del><span class="cx">     this._computedStyleDetailsPanel = new WebInspector.ComputedStyleDetailsPanel;
</span><span class="cx">     this._rulesStyleDetailsPanel = new WebInspector.RulesStyleDetailsPanel;
</span><span class="cx">     this._metricsStyleDetailsPanel = new WebInspector.MetricsStyleDetailsPanel;
</span><span class="lines">@@ -89,13 +84,13 @@
</span><span class="cx">     this._navigationBar.selectedNavigationItem = this._lastSelectedSectionSetting.value;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-WebInspector.CSSStyleDetailsSidebarPanel.ContentStyleClassName = &quot;content&quot;;
</del><span class="cx"> WebInspector.CSSStyleDetailsSidebarPanel.PseudoClassesElementStyleClassName = &quot;pseudo-classes&quot;;
</span><span class="cx"> WebInspector.CSSStyleDetailsSidebarPanel.PseudoClassesGroupElementStyleClassName = &quot;group&quot;;
</span><span class="cx"> WebInspector.CSSStyleDetailsSidebarPanel.NoForcedPseudoClassesScrollOffset = 38; // Default height of the forced pseudo classes container. Updated in widthDidChange.
</span><span class="cx"> 
</span><span class="cx"> WebInspector.CSSStyleDetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.CSSStyleDetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.DOMDetailsSidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -110,7 +105,7 @@
</span><span class="cx">         if (!domNode)
</span><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        this._contentElement.scrollTop = this._initialScrollOffset;
</del><ins>+        this.contentElement.scrollTop = this._initialScrollOffset;
</ins><span class="cx"> 
</span><span class="cx">         for (var i = 0; i &lt; this._panels.length; ++i) {
</span><span class="cx">             delete this._panels[i].element._savedScrollTop;
</span><span class="lines">@@ -195,19 +190,19 @@
</span><span class="cx"> 
</span><span class="cx">         if (this._selectedPanel) {
</span><span class="cx">             this._selectedPanel.hidden();
</span><del>-            this._selectedPanel.element._savedScrollTop = this._contentElement.scrollTop;
</del><ins>+            this._selectedPanel.element._savedScrollTop = this.contentElement.scrollTop;
</ins><span class="cx">             this._selectedPanel.element.remove();
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         this._selectedPanel = selectedPanel;
</span><span class="cx"> 
</span><span class="cx">         if (this._selectedPanel) {
</span><del>-            this._contentElement.appendChild(this._selectedPanel.element);
</del><ins>+            this.contentElement.appendChild(this._selectedPanel.element);
</ins><span class="cx"> 
</span><span class="cx">             if (typeof this._selectedPanel.element._savedScrollTop === &quot;number&quot;)
</span><del>-                this._contentElement.scrollTop = this._selectedPanel.element._savedScrollTop;
</del><ins>+                this.contentElement.scrollTop = this._selectedPanel.element._savedScrollTop;
</ins><span class="cx">             else
</span><del>-                this._contentElement.scrollTop = this._initialScrollOffset;
</del><ins>+                this.contentElement.scrollTop = this._initialScrollOffset;
</ins><span class="cx"> 
</span><span class="cx">             this._selectedPanel.shown();
</span><span class="cx">         }
</span><span class="lines">@@ -236,5 +231,3 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.CSSStyleDetailsSidebarPanel.prototype.__proto__ = WebInspector.DOMDetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDOMDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.DOMDetailsSidebarPanel = function(identifier, displayName, singularDisplayName, image, keyboardShortcutKey, element) {
</del><ins>+WebInspector.DOMDetailsSidebarPanel = function(identifier, displayName, singularDisplayName, image, keyboardShortcutKey, element)
+{
</ins><span class="cx">     WebInspector.DetailsSidebarPanel.call(this, identifier, displayName, singularDisplayName, image, keyboardShortcutKey, element);
</span><span class="cx"> 
</span><span class="cx">     this.element.addEventListener(&quot;click&quot;, this._mouseWasClicked.bind(this), true);
</span><span class="lines">@@ -33,6 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.DOMDetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.DOMDetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.DetailsSidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -110,5 +112,3 @@
</span><span class="cx">         WebInspector.handlePossibleLinkClick(event, parentFrame);
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.DOMDetailsSidebarPanel.prototype.__proto__ = WebInspector.DetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDOMNodeDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DOMNodeDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.DOMNodeDetailsSidebarPanel = function() {
</del><ins>+WebInspector.DOMNodeDetailsSidebarPanel = function()
+{
</ins><span class="cx">     WebInspector.DOMDetailsSidebarPanel.call(this, &quot;dom-node-details&quot;, WebInspector.UIString(&quot;Node&quot;), WebInspector.UIString(&quot;Node&quot;), &quot;Images/NavigationItemAngleBrackets.svg&quot;, &quot;2&quot;);
</span><span class="cx"> 
</span><span class="cx">     WebInspector.domTreeManager.addEventListener(WebInspector.DOMTreeManager.Event.AttributeModified, this._attributesChanged, this);
</span><span class="lines">@@ -51,10 +52,10 @@
</span><span class="cx">     this._eventListenersSectionGroup = new WebInspector.DetailsSectionGroup;
</span><span class="cx">     var eventListenersSection = new WebInspector.DetailsSection(&quot;dom-node-event-listeners&quot;, WebInspector.UIString(&quot;Event Listeners&quot;), [this._eventListenersSectionGroup]);    
</span><span class="cx"> 
</span><del>-    this.element.appendChild(identitySection.element);
-    this.element.appendChild(attributesSection.element);
-    this.element.appendChild(propertiesSection.element);
-    this.element.appendChild(eventListenersSection.element);
</del><ins>+    this.contentElement.appendChild(identitySection.element);
+    this.contentElement.appendChild(attributesSection.element);
+    this.contentElement.appendChild(propertiesSection.element);
+    this.contentElement.appendChild(eventListenersSection.element);
</ins><span class="cx"> 
</span><span class="cx">     if (this._accessibilitySupported()) {
</span><span class="cx">         this._accessibilityEmptyRow = new WebInspector.DetailsSectionRow(WebInspector.UIString(&quot;No Accessibility Information&quot;));
</span><span class="lines">@@ -84,7 +85,7 @@
</span><span class="cx">         this._accessibilityGroup = new WebInspector.DetailsSectionGroup([this._accessibilityEmptyRow]);
</span><span class="cx">         var accessibilitySection = new WebInspector.DetailsSection(&quot;dom-node-accessibility&quot;, WebInspector.UIString(&quot;Accessibility&quot;), [this._accessibilityGroup]);    
</span><span class="cx"> 
</span><del>-        this.element.appendChild(accessibilitySection.element);
</del><ins>+        this.contentElement.appendChild(accessibilitySection.element);
</ins><span class="cx">     }
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="lines">@@ -93,6 +94,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.DOMNodeDetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.DOMNodeDetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.DOMDetailsSidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -589,5 +591,3 @@
</span><span class="cx">         return dataGrid;
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.DOMNodeDetailsSidebarPanel.prototype.__proto__ = WebInspector.DOMDetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDetailsSidebarPanelcss"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.css (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.css        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.css        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -1,29 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-.sidebar &gt; .panel.details {
-    overflow-x: hidden;
-    overflow-y: auto;
-}
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.DetailsSidebarPanel = function(identifier, displayName, singularDisplayName, image, keyboardShortcutKey, element) {
</del><ins>+WebInspector.DetailsSidebarPanel = function(identifier, displayName, singularDisplayName, image, keyboardShortcutKey, element)
+{
</ins><span class="cx">     if (keyboardShortcutKey)
</span><span class="cx">         this._keyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Control | WebInspector.KeyboardShortcut.Modifier.Shift, keyboardShortcutKey, this.toggle.bind(this));
</span><span class="cx"> 
</span><span class="lines">@@ -44,6 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.DetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.DetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.SidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -76,5 +78,3 @@
</span><span class="cx">         // Implemented by subclasses.
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.DetailsSidebarPanel.prototype.__proto__ = WebInspector.SidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeDetailsSidebarPanelcssfromrev175765trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeSidebarPanelcss"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.css (from rev 175765, trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css) (0 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.css                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.css        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -0,0 +1,117 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+.sidebar &gt; .panel.details.layer-tree &gt; .content {
+    bottom: 28px;
+}
+
+body.mac-platform.legacy .sidebar &gt; .panel.details.layer-tree &gt; .content {
+    bottom: 22px;
+}
+
+.panel.details.layer-tree .data-grid {
+    border-right: none;
+    border-left: none;
+    border-bottom: none;
+}
+
+.panel.details.layer-tree .name-column .icon {
+    content: url(../Images/DOMElement.svg);
+}
+
+.panel.details.layer-tree tr.reflection .name-column .icon {
+    content: url(../Images/Reflection.svg);
+}
+
+.panel.details.layer-tree tr.pseudo-element .name-column .icon {
+    content: url(../Images/PseudoElement.svg);
+}
+
+.panel.details.layer-tree .name-column .pseudo-element,
+.panel.details.layer-tree .name-column .reflection {
+    color: rgb(128, 128, 128);
+}
+
+.panel.details.layer-tree tr.selected .name-column .pseudo-element,
+.panel.details.layer-tree tr.selected .name-column .reflection {
+    color: rgba(255, 255, 255, 0.75);
+}
+
+.panel.details.layer-tree .bottom-bar {
+    position: absolute;
+    display: flex;
+    bottom: 0;
+    width: 100%;
+    border-top: 1px solid rgb(179, 179, 179);
+    background-color: white;
+}
+
+body.mac-platform.legacy .panel.details.layer-tree .bottom-bar {
+    height: 23px;
+}
+
+.panel.details.layer-tree .bottom-bar &gt; div {
+    padding: 4px 6px;
+
+    line-height: 20px;
+
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+
+    display: flex;
+    flex: 1;
+}
+
+body.mac-platform.legacy .panel.details.layer-tree .bottom-bar &gt; div {
+    line-height: inherit;
+    text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
+}
+
+.panel.details.layer-tree .layers-memory-label {
+    justify-content: flex-end;
+}
+
+.layer-tree-popover {
+    padding: 5px;
+}
+
+body.mac-platform.legacy .layer-tree-popover {
+    text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
+}
+
+.layer-tree-popover p {
+    margin: 0;
+}
+
+.layer-tree-popover ul {
+    list-style-type: none;
+    margin: 10px 0 0 0;
+    padding-left: 10px;
+}
+
+.layer-tree-popover li {
+    line-height: 1.3em;
+}
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeDetailsSidebarPaneljsfromrev175765trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeSidebarPaneljs"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js (from rev 175765, trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js) (0 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -0,0 +1,443 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+WebInspector.LayerTreeDetailsSidebarPanel = function()
+{
+    WebInspector.DOMDetailsSidebarPanel.call(this, &quot;layer-tree&quot;, WebInspector.UIString(&quot;Layers&quot;), WebInspector.UIString(&quot;Layer&quot;), &quot;Images/NavigationItemLayers.svg&quot;, &quot;3&quot;);
+
+    this._dataGridNodesByLayerId = {};
+
+    this.element.classList.add(WebInspector.LayerTreeDetailsSidebarPanel.StyleClassName);
+
+    WebInspector.showShadowDOMSetting.addEventListener(WebInspector.Setting.Event.Changed, this._showShadowDOMSettingChanged, this);
+
+    window.addEventListener(&quot;resize&quot;, this._windowResized.bind(this));
+
+    this._buildLayerInfoSection();
+    this._buildDataGridSection();
+    this._buildBottomBar();
+};
+
+WebInspector.LayerTreeDetailsSidebarPanel.StyleClassName = &quot;layer-tree&quot;;
+
+WebInspector.LayerTreeDetailsSidebarPanel.prototype = {
+    constructor: WebInspector.LayerTreeDetailsSidebarPanel,
+    __proto__: WebInspector.DOMDetailsSidebarPanel.prototype,
+
+    // DetailsSidebarPanel Overrides.
+
+    shown: function()
+    {
+        WebInspector.layerTreeManager.addEventListener(WebInspector.LayerTreeManager.Event.LayerTreeDidChange, this._layerTreeDidChange, this);
+
+        console.assert(this.parentSidebar);
+
+        this.needsRefresh();
+
+        WebInspector.DOMDetailsSidebarPanel.prototype.shown.call(this);
+    },
+
+    hidden: function()
+    {
+        WebInspector.layerTreeManager.removeEventListener(WebInspector.LayerTreeManager.Event.LayerTreeDidChange, this._layerTreeDidChange, this);
+
+        WebInspector.DOMDetailsSidebarPanel.prototype.hidden.call(this);
+    },
+
+    refresh: function()
+    {
+        if (!this.domNode)
+            return;
+
+        WebInspector.layerTreeManager.layersForNode(this.domNode, function(layerForNode, childLayers) {
+            this._unfilteredChildLayers = childLayers;
+            this._updateDisplayWithLayers(layerForNode, childLayers);
+        }.bind(this));
+    },
+
+    // DOMDetailsSidebarPanel Overrides
+
+    supportsDOMNode: function(nodeToInspect)
+    {
+        return WebInspector.layerTreeManager.supported &amp;&amp; nodeToInspect.nodeType() === Node.ELEMENT_NODE;
+    },
+
+    // Private
+
+    _layerTreeDidChange: function(event)
+    {
+        this.needsRefresh();
+    },
+
+    _showShadowDOMSettingChanged: function(event)
+    {
+        if (this.selected)
+            this._updateDisplayWithLayers(this._layerForNode, this._unfilteredChildLayers);
+    },
+
+    _windowResized: function(event)
+    {
+        if (this._popover &amp;&amp; this._popover.visible)
+            this._updatePopoverForSelectedNode();
+    },
+
+    _buildLayerInfoSection: function()
+    {
+        var rows = this._layerInfoRows = {};
+        var rowsArray = [];
+
+        rowsArray.push(rows[&quot;Width&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Width&quot;)));
+        rowsArray.push(rows[&quot;Height&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Height&quot;)));
+        rowsArray.push(rows[&quot;Paints&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Paints&quot;)));
+        rowsArray.push(rows[&quot;Memory&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Memory&quot;)));
+
+        this._layerInfoGroup = new WebInspector.DetailsSectionGroup(rowsArray);
+
+        var emptyRow = new WebInspector.DetailsSectionRow(WebInspector.UIString(&quot;No Layer Available&quot;));
+        emptyRow.showEmptyMessage();
+        this._noLayerInformationGroup = new WebInspector.DetailsSectionGroup([emptyRow]);
+
+        this._layerInfoSection = new WebInspector.DetailsSection(&quot;layer-info&quot;, WebInspector.UIString(&quot;Layer Info&quot;), [this._noLayerInformationGroup]);
+
+        this.contentElement.appendChild(this._layerInfoSection.element);
+    },
+
+    _buildDataGridSection: function()
+    {
+        var columns = {name: {}, paintCount: {}, memory: {}};
+
+        columns.name.title = WebInspector.UIString(&quot;Node&quot;);
+        columns.name.sortable = false;
+
+        columns.paintCount.title = WebInspector.UIString(&quot;Paints&quot;);
+        columns.paintCount.sortable = true;
+        columns.paintCount.aligned = &quot;right&quot;;
+        columns.paintCount.width = &quot;50px&quot;;
+
+        columns.memory.title = WebInspector.UIString(&quot;Memory&quot;);
+        columns.memory.sortable = true;
+        columns.memory.aligned = &quot;right&quot;;
+        columns.memory.width = &quot;70px&quot;;
+
+        this._dataGrid = new WebInspector.DataGrid(columns);
+        this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._sortDataGrid, this);
+        this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._selectedDataGridNodeChanged, this);
+
+        this.sortColumnIdentifier = &quot;memory&quot;;
+        this.sortOrder = WebInspector.DataGrid.SortOrder.Descending;
+
+        var element = this._dataGrid.element;
+        element.classList.add(&quot;inline&quot;);
+        element.addEventListener(&quot;focus&quot;, this._dataGridGainedFocus.bind(this), false);
+        element.addEventListener(&quot;blur&quot;, this._dataGridLostFocus.bind(this), false);
+        element.addEventListener(&quot;click&quot;, this._dataGridWasClicked.bind(this), false);
+
+        this._childLayersRow = new WebInspector.DetailsSectionDataGridRow(null, WebInspector.UIString(&quot;No Child Layers&quot;));
+        var group = new WebInspector.DetailsSectionGroup([this._childLayersRow]);
+        var section = new WebInspector.DetailsSection(&quot;layer-children&quot;, WebInspector.UIString(&quot;Child Layers&quot;), [group], null, true);
+
+        var element = this.contentElement.appendChild(section.element);
+        element.classList.add(section.identifier);
+    },
+
+    _buildBottomBar: function()
+    {
+        var bottomBar = this.element.appendChild(document.createElement(&quot;div&quot;));
+        bottomBar.className = &quot;bottom-bar&quot;;
+
+        this._layersCountLabel = bottomBar.appendChild(document.createElement(&quot;div&quot;));
+        this._layersCountLabel.className = &quot;layers-count-label&quot;;
+
+        this._layersMemoryLabel = bottomBar.appendChild(document.createElement(&quot;div&quot;));
+        this._layersMemoryLabel.className = &quot;layers-memory-label&quot;;
+    },
+
+    _sortDataGrid: function()
+    {
+        var sortColumnIdentifier = this._dataGrid.sortColumnIdentifier;
+
+        function comparator(a, b)
+        {
+            var item1 = a.layer[sortColumnIdentifier] || 0;
+            var item2 = b.layer[sortColumnIdentifier] || 0;
+            return item1 - item2;
+        }
+
+        this._dataGrid.sortNodes(comparator);
+        this._updatePopoverForSelectedNode();
+    },
+
+    _selectedDataGridNodeChanged: function()
+    {
+        if (this._dataGrid.selectedNode) {
+            this._highlightSelectedNode();
+            this._showPopoverForSelectedNode();
+        } else {
+            WebInspector.domTreeManager.hideDOMNodeHighlight();
+            this._hidePopover();
+        }
+    },
+
+    _dataGridGainedFocus: function(event)
+    {
+        this._highlightSelectedNode();
+        this._showPopoverForSelectedNode();
+    },
+
+    _dataGridLostFocus: function(event)
+    {
+        WebInspector.domTreeManager.hideDOMNodeHighlight();
+        this._hidePopover();
+    },
+
+    _dataGridWasClicked: function(event)
+    {
+        if (this._dataGrid.selectedNode &amp;&amp; event.target.parentNode.classList.contains(&quot;filler&quot;))
+            this._dataGrid.selectedNode.deselect();
+    },
+
+    _highlightSelectedNode: function()
+    {
+        var dataGridNode = this._dataGrid.selectedNode;
+        if (!dataGridNode)
+            return;
+
+        var layer = dataGridNode.layer;
+        if (layer.isGeneratedContent || layer.isReflection || layer.isAnonymous)
+            WebInspector.domTreeManager.highlightRect(layer.bounds, true);
+        else
+            WebInspector.domTreeManager.highlightDOMNode(layer.nodeId);
+    },
+
+    _updateDisplayWithLayers: function(layerForNode, childLayers)
+    {
+        if (!WebInspector.showShadowDOMSetting.value) {
+            childLayers = childLayers.filter(function(layer) {
+                return !layer.isInShadowTree;
+            });
+        }
+
+        this._updateLayerInfoSection(layerForNode);
+        this._updateDataGrid(layerForNode, childLayers);
+        this._updateMetrics(layerForNode, childLayers);
+
+        this._layerForNode = layerForNode;
+        this._childLayers = childLayers;
+    },
+
+    _updateLayerInfoSection: function(layer)
+    {
+        const emDash = &quot;\u2014&quot;;
+
+        this._layerInfoSection.groups = layer ? [this._layerInfoGroup] : [this._noLayerInformationGroup];
+
+        if (!layer)
+            return;
+
+        this._layerInfoRows[&quot;Memory&quot;].value = Number.bytesToString(layer.memory);
+        this._layerInfoRows[&quot;Width&quot;].value = layer.compositedBounds.width + &quot;px&quot;;
+        this._layerInfoRows[&quot;Height&quot;].value = layer.compositedBounds.height + &quot;px&quot;;
+        this._layerInfoRows[&quot;Paints&quot;].value = layer.paintCount + &quot;&quot;;
+    },
+
+    _updateDataGrid: function(layerForNode, childLayers)
+    {
+        var dataGrid = this._dataGrid;
+
+        var mutations = WebInspector.layerTreeManager.layerTreeMutations(this._childLayers, childLayers);
+
+        mutations.removals.forEach(function(layer) {
+            var node = this._dataGridNodesByLayerId[layer.layerId];
+            if (node) {
+                dataGrid.removeChild(node);
+                delete this._dataGridNodesByLayerId[layer.layerId];
+            }
+        }, this);
+
+        mutations.additions.forEach(function(layer) {
+            var node = this._dataGridNodeForLayer(layer);
+            if (node)
+                dataGrid.appendChild(node);
+        }, this);
+
+        mutations.preserved.forEach(function(layer) {
+            var node = this._dataGridNodesByLayerId[layer.layerId];
+            if (node)
+                node.layer = layer;
+        }, this);
+
+        this._sortDataGrid();
+
+        this._childLayersRow.dataGrid = !isEmptyObject(childLayers) ? this._dataGrid : null;
+    },
+
+    _dataGridNodeForLayer: function(layer)
+    {
+        var node = new WebInspector.LayerTreeDataGridNode(layer);
+
+        this._dataGridNodesByLayerId[layer.layerId] = node;
+
+        return node;
+    },
+
+    _updateMetrics: function(layerForNode, childLayers)
+    {
+        var layerCount = 0;
+        var totalMemory = 0;
+
+        if (layerForNode) {
+            layerCount++;
+            totalMemory += layerForNode.memory || 0;
+        }
+
+        childLayers.forEach(function(layer) {
+            layerCount++;
+            totalMemory += layer.memory || 0;
+        });
+
+        this._layersCountLabel.textContent = WebInspector.UIString(&quot;Layer Count: %d&quot;).format(layerCount);
+        this._layersMemoryLabel.textContent = WebInspector.UIString(&quot;Memory: %s&quot;).format(Number.bytesToString(totalMemory));
+    },
+
+    _showPopoverForSelectedNode: function()
+    {
+        var dataGridNode = this._dataGrid.selectedNode;
+        if (!dataGridNode)
+            return;
+
+        this._contentForPopover(dataGridNode.layer, function(content) {
+            if (dataGridNode === this._dataGrid.selectedNode)
+                this._updatePopoverForSelectedNode(content);
+        }.bind(this));
+    },
+
+    _updatePopoverForSelectedNode: function(content)
+    {
+        var dataGridNode = this._dataGrid.selectedNode;
+        if (!dataGridNode)
+            return;
+
+        var popover = this._popover;
+        if (!popover)
+            popover = this._popover = new WebInspector.Popover;
+
+        var targetFrame = WebInspector.Rect.rectFromClientRect(dataGridNode.element.getBoundingClientRect());
+
+        if (content)
+            popover.content = content;
+
+        popover.present(targetFrame.pad(2), [WebInspector.RectEdge.MIN_X]);
+    },
+
+    _hidePopover: function()
+    {
+        if (this._popover)
+            this._popover.dismiss();
+    },
+
+    _contentForPopover: function(layer, callback)
+    {
+        var content = document.createElement(&quot;div&quot;);
+        content.className = &quot;layer-tree-popover&quot;;
+
+        content.appendChild(document.createElement(&quot;p&quot;)).textContent = WebInspector.UIString(&quot;Reasons for compositing:&quot;);
+
+        var list = content.appendChild(document.createElement(&quot;ul&quot;));
+
+        WebInspector.layerTreeManager.reasonsForCompositingLayer(layer, function(compositingReasons) {
+            if (isEmptyObject(compositingReasons)) {
+                callback(content);
+                return;
+            }
+
+            this._populateListOfCompositingReasons(list, compositingReasons);
+
+            callback(content);
+        }.bind(this));
+
+        return content;
+    },
+
+    _populateListOfCompositingReasons: function(list, compositingReasons)
+    {
+        function addReason(reason)
+        {
+            list.appendChild(document.createElement(&quot;li&quot;)).textContent = reason;
+        }
+
+        if (compositingReasons.transform3D)
+            addReason(WebInspector.UIString(&quot;Element has a 3D transform&quot;));
+        if (compositingReasons.video)
+            addReason(WebInspector.UIString(&quot;Element is &lt;video&gt;&quot;));
+        if (compositingReasons.canvas)
+            addReason(WebInspector.UIString(&quot;Element is &lt;canvas&gt;&quot;));
+        if (compositingReasons.plugin)
+            addReason(WebInspector.UIString(&quot;Element is a plug-in&quot;));
+        if (compositingReasons.iFrame)
+            addReason(WebInspector.UIString(&quot;Element is &lt;iframe&gt;&quot;));
+        if (compositingReasons.backfaceVisibilityHidden)
+            addReason(WebInspector.UIString(&quot;Element has “backface-visibility: hidden” style&quot;));
+        if (compositingReasons.clipsCompositingDescendants)
+            addReason(WebInspector.UIString(&quot;Element clips compositing descendants&quot;));
+        if (compositingReasons.animation)
+            addReason(WebInspector.UIString(&quot;Element is animated&quot;));
+        if (compositingReasons.filters)
+            addReason(WebInspector.UIString(&quot;Element has CSS filters applied&quot;));
+        if (compositingReasons.positionFixed)
+            addReason(WebInspector.UIString(&quot;Element has “position: fixed” style&quot;));
+        if (compositingReasons.positionSticky)
+            addReason(WebInspector.UIString(&quot;Element has “position: sticky” style&quot;));
+        if (compositingReasons.overflowScrollingTouch)
+            addReason(WebInspector.UIString(&quot;Element has “-webkit-overflow-scrolling: touch” style&quot;));
+        if (compositingReasons.stacking)
+            addReason(WebInspector.UIString(&quot;Element establishes a stacking context&quot;));
+        if (compositingReasons.overlap)
+            addReason(WebInspector.UIString(&quot;Element overlaps other compositing element&quot;));
+        if (compositingReasons.negativeZIndexChildren)
+            addReason(WebInspector.UIString(&quot;Element has children with a negative z-index&quot;));
+        if (compositingReasons.transformWithCompositedDescendants)
+            addReason(WebInspector.UIString(&quot;Element has a 2D transform and composited descendants&quot;));
+        if (compositingReasons.opacityWithCompositedDescendants)
+            addReason(WebInspector.UIString(&quot;Element has opacity applied and composited descendants&quot;));
+        if (compositingReasons.maskWithCompositedDescendants)
+            addReason(WebInspector.UIString(&quot;Element is masked and composited descendants&quot;));
+        if (compositingReasons.reflectionWithCompositedDescendants)
+            addReason(WebInspector.UIString(&quot;Element has a reflection and composited descendants&quot;));
+        if (compositingReasons.filterWithCompositedDescendants)
+            addReason(WebInspector.UIString(&quot;Element has CSS filters applied and composited descendants&quot;));
+        if (compositingReasons.blendingWithCompositedDescendants)
+            addReason(WebInspector.UIString(&quot;Element has CSS blending applied and composited descendants&quot;));
+        if (compositingReasons.isolatesCompositedBlendingDescendants)
+            addReason(WebInspector.UIString(&quot;Element is a stacking context and has composited descendants with CSS blending applied&quot;));
+        if (compositingReasons.perspective)
+            addReason(WebInspector.UIString(&quot;Element has perspective applied&quot;));
+        if (compositingReasons.preserve3D)
+            addReason(WebInspector.UIString(&quot;Element has “transform-style: preserve-3d” style&quot;));
+        if (compositingReasons.root)
+            addReason(WebInspector.UIString(&quot;Element is the root element&quot;));
+        if (compositingReasons.blending)
+            addReason(WebInspector.UIString(&quot;Element has “blend-mode” style&quot;));
+    }
+};
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeSidebarPanelcss"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.css        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -1,106 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-.layer-tree.panel .data-grid {
-    border-right: none;
-    border-left: none;
-    border-bottom: none;
-}
-
-.layer-tree.panel .name-column .icon {
-    content: url(../Images/DOMElement.svg);
-}
-
-.layer-tree.panel tr.reflection .name-column .icon {
-    content: url(../Images/Reflection.svg);
-}
-
-.layer-tree.panel tr.pseudo-element .name-column .icon {
-    content: url(../Images/PseudoElement.svg);
-}
-
-.layer-tree.panel .name-column .pseudo-element,
-.layer-tree.panel .name-column .reflection {
-    color: rgb(128, 128, 128);
-}
-
-.layer-tree.panel tr.selected .name-column .pseudo-element,
-.layer-tree.panel tr.selected .name-column .reflection {
-    color: rgba(255, 255, 255, 0.75);
-}
-
-.layer-tree.panel .bottom-bar {
-    position: relative;
-    height: 28px;
-    display: flex;
-}
-
-body.mac-platform.legacy .layer-tree.panel .bottom-bar {
-    height: 22px;
-}
-
-.layer-tree.panel .bottom-bar &gt; div {
-    padding: 4px 6px;
-
-    line-height: 20px;
-
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-
-    display: flex;
-    flex: 1;
-}
-
-body.mac-platform.legacy .layer-tree.panel .bottom-bar &gt; div {
-    line-height: inherit;
-    text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
-}
-
-.layer-tree.panel .layers-memory-label {
-    justify-content: flex-end;
-}
-
-.layer-tree-popover {
-    padding: 5px;
-}
-
-body.mac-platform.legacy .layer-tree-popover {
-    text-shadow: rgba(255, 255, 255, 0.5) 0 1px 0;
-}
-
-.layer-tree-popover p {
-    margin: 0;
-}
-
-.layer-tree-popover ul {
-    list-style-type: none;
-    margin: 10px 0 0 0;
-    padding-left: 10px;
-}
-
-.layer-tree-popover li {
-    line-height: 1.3em;
-}
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsLayerTreeSidebarPaneljs"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/LayerTreeSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -1,443 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-WebInspector.LayerTreeSidebarPanel = function() {
-    WebInspector.DOMDetailsSidebarPanel.call(this, &quot;layer-tree&quot;, WebInspector.UIString(&quot;Layers&quot;), WebInspector.UIString(&quot;Layer&quot;), &quot;Images/NavigationItemLayers.svg&quot;, &quot;3&quot;);
-
-    this._dataGridNodesByLayerId = {};
-
-    this.element.classList.add(WebInspector.LayerTreeSidebarPanel.StyleClassName);
-
-    WebInspector.showShadowDOMSetting.addEventListener(WebInspector.Setting.Event.Changed, this._showShadowDOMSettingChanged, this);
-
-    window.addEventListener(&quot;resize&quot;, this._windowResized.bind(this));
-
-    this._buildLayerInfoSection();
-    this._buildDataGridSection();
-    this._buildBottomBar();
-};
-
-WebInspector.LayerTreeSidebarPanel.StyleClassName = &quot;layer-tree&quot;;
-
-WebInspector.LayerTreeSidebarPanel.prototype = {
-    constructor: WebInspector.LayerTreeSidebarPanel,
-
-    // DetailsSidebarPanel Overrides.
-
-    shown: function()
-    {
-        WebInspector.layerTreeManager.addEventListener(WebInspector.LayerTreeManager.Event.LayerTreeDidChange, this._layerTreeDidChange, this);
-
-        console.assert(this.parentSidebar);
-
-        this.needsRefresh();
-
-        WebInspector.DOMDetailsSidebarPanel.prototype.shown.call(this);
-    },
-
-    hidden: function()
-    {
-        WebInspector.layerTreeManager.removeEventListener(WebInspector.LayerTreeManager.Event.LayerTreeDidChange, this._layerTreeDidChange, this);
-
-        WebInspector.DOMDetailsSidebarPanel.prototype.hidden.call(this);
-    },
-
-    refresh: function()
-    {
-        if (!this.domNode)
-            return;
-
-        WebInspector.layerTreeManager.layersForNode(this.domNode, function(layerForNode, childLayers) {
-            this._unfilteredChildLayers = childLayers;
-            this._updateDisplayWithLayers(layerForNode, childLayers);
-        }.bind(this));
-    },
-
-    // DOMDetailsSidebarPanel Overrides
-
-    supportsDOMNode: function(nodeToInspect)
-    {
-        return WebInspector.layerTreeManager.supported &amp;&amp; nodeToInspect.nodeType() === Node.ELEMENT_NODE;
-    },
-
-    // Private
-
-    _layerTreeDidChange: function(event)
-    {
-        this.needsRefresh();
-    },
-
-    _showShadowDOMSettingChanged: function(event)
-    {
-        if (this.selected)
-            this._updateDisplayWithLayers(this._layerForNode, this._unfilteredChildLayers);
-    },
-
-    _windowResized: function(event)
-    {
-        if (this._popover &amp;&amp; this._popover.visible)
-            this._updatePopoverForSelectedNode();
-    },
-
-    _buildLayerInfoSection: function()
-    {
-        var rows = this._layerInfoRows = {};
-        var rowsArray = [];
-
-        rowsArray.push(rows[&quot;Width&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Width&quot;)));
-        rowsArray.push(rows[&quot;Height&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Height&quot;)));
-        rowsArray.push(rows[&quot;Paints&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Paints&quot;)));
-        rowsArray.push(rows[&quot;Memory&quot;] = new WebInspector.DetailsSectionSimpleRow(WebInspector.UIString(&quot;Memory&quot;)));
-
-        this._layerInfoGroup = new WebInspector.DetailsSectionGroup(rowsArray);
-
-        var emptyRow = new WebInspector.DetailsSectionRow(WebInspector.UIString(&quot;No Layer Available&quot;));
-        emptyRow.showEmptyMessage();
-        this._noLayerInformationGroup = new WebInspector.DetailsSectionGroup([emptyRow]);
-
-        this._layerInfoSection = new WebInspector.DetailsSection(&quot;layer-info&quot;, WebInspector.UIString(&quot;Layer Info&quot;), [this._noLayerInformationGroup]);
-
-        this.element.appendChild(this._layerInfoSection.element);
-    },
-
-    _buildDataGridSection: function()
-    {
-        var columns = {name: {}, paintCount: {}, memory: {}};
-
-        columns.name.title = WebInspector.UIString(&quot;Node&quot;);
-        columns.name.sortable = false;
-
-        columns.paintCount.title = WebInspector.UIString(&quot;Paints&quot;);
-        columns.paintCount.sortable = true;
-        columns.paintCount.aligned = &quot;right&quot;;
-        columns.paintCount.width = &quot;50px&quot;;
-
-        columns.memory.title = WebInspector.UIString(&quot;Memory&quot;);
-        columns.memory.sortable = true;
-        columns.memory.aligned = &quot;right&quot;;
-        columns.memory.width = &quot;70px&quot;;
-
-        this._dataGrid = new WebInspector.DataGrid(columns);
-        this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SortChanged, this._sortDataGrid, this);
-        this._dataGrid.addEventListener(WebInspector.DataGrid.Event.SelectedNodeChanged, this._selectedDataGridNodeChanged, this);
-
-        this.sortColumnIdentifier = &quot;memory&quot;;
-        this.sortOrder = WebInspector.DataGrid.SortOrder.Descending;
-
-        var element = this._dataGrid.element;
-        element.classList.add(&quot;inline&quot;);
-        element.addEventListener(&quot;focus&quot;, this._dataGridGainedFocus.bind(this), false);
-        element.addEventListener(&quot;blur&quot;, this._dataGridLostFocus.bind(this), false);
-        element.addEventListener(&quot;click&quot;, this._dataGridWasClicked.bind(this), false);
-
-        this._childLayersRow = new WebInspector.DetailsSectionDataGridRow(null, WebInspector.UIString(&quot;No Child Layers&quot;));
-        var group = new WebInspector.DetailsSectionGroup([this._childLayersRow]);
-        var section = new WebInspector.DetailsSection(&quot;layer-children&quot;, WebInspector.UIString(&quot;Child Layers&quot;), [group], null, true);
-
-        var element = this.element.appendChild(section.element);
-        element.classList.add(section.identifier);
-    },
-
-    _buildBottomBar: function()
-    {
-        var bottomBar = this.element.appendChild(document.createElement(&quot;div&quot;));
-        bottomBar.className = &quot;bottom-bar&quot;;
-
-        this._layersCountLabel = bottomBar.appendChild(document.createElement(&quot;div&quot;));
-        this._layersCountLabel.className = &quot;layers-count-label&quot;;
-
-        this._layersMemoryLabel = bottomBar.appendChild(document.createElement(&quot;div&quot;));
-        this._layersMemoryLabel.className = &quot;layers-memory-label&quot;;
-    },
-
-    _sortDataGrid: function()
-    {
-        var sortColumnIdentifier = this._dataGrid.sortColumnIdentifier;
-
-        function comparator(a, b)
-        {
-            var item1 = a.layer[sortColumnIdentifier] || 0;
-            var item2 = b.layer[sortColumnIdentifier] || 0;
-            return item1 - item2;
-        }
-
-        this._dataGrid.sortNodes(comparator);
-        this._updatePopoverForSelectedNode();
-    },
-
-    _selectedDataGridNodeChanged: function()
-    {
-        if (this._dataGrid.selectedNode) {
-            this._highlightSelectedNode();
-            this._showPopoverForSelectedNode();
-        } else {
-            WebInspector.domTreeManager.hideDOMNodeHighlight();
-            this._hidePopover();
-        }
-    },
-
-    _dataGridGainedFocus: function(event)
-    {
-        this._highlightSelectedNode();
-        this._showPopoverForSelectedNode();
-    },
-
-    _dataGridLostFocus: function(event)
-    {
-        WebInspector.domTreeManager.hideDOMNodeHighlight();
-        this._hidePopover();
-    },
-
-    _dataGridWasClicked: function(event)
-    {
-        if (this._dataGrid.selectedNode &amp;&amp; event.target.parentNode.classList.contains(&quot;filler&quot;))
-            this._dataGrid.selectedNode.deselect();
-    },
-
-    _highlightSelectedNode: function()
-    {
-        var dataGridNode = this._dataGrid.selectedNode;
-        if (!dataGridNode)
-            return;
-
-        var layer = dataGridNode.layer;
-        if (layer.isGeneratedContent || layer.isReflection || layer.isAnonymous)
-            WebInspector.domTreeManager.highlightRect(layer.bounds, true);
-        else
-            WebInspector.domTreeManager.highlightDOMNode(layer.nodeId);
-    },
-
-    _updateDisplayWithLayers: function(layerForNode, childLayers)
-    {
-        if (!WebInspector.showShadowDOMSetting.value) {
-            childLayers = childLayers.filter(function(layer) {
-                return !layer.isInShadowTree;
-            });
-        }
-
-        this._updateLayerInfoSection(layerForNode);
-        this._updateDataGrid(layerForNode, childLayers);
-        this._updateMetrics(layerForNode, childLayers);
-
-        this._layerForNode = layerForNode;
-        this._childLayers = childLayers;
-    },
-
-    _updateLayerInfoSection: function(layer)
-    {
-        const emDash = &quot;\u2014&quot;;
-
-        this._layerInfoSection.groups = layer ? [this._layerInfoGroup] : [this._noLayerInformationGroup];
-
-        if (!layer)
-            return;
-
-        this._layerInfoRows[&quot;Memory&quot;].value = Number.bytesToString(layer.memory);
-        this._layerInfoRows[&quot;Width&quot;].value = layer.compositedBounds.width + &quot;px&quot;;
-        this._layerInfoRows[&quot;Height&quot;].value = layer.compositedBounds.height + &quot;px&quot;;
-        this._layerInfoRows[&quot;Paints&quot;].value = layer.paintCount + &quot;&quot;;
-    },
-
-    _updateDataGrid: function(layerForNode, childLayers)
-    {
-        var dataGrid = this._dataGrid;
-
-        var mutations = WebInspector.layerTreeManager.layerTreeMutations(this._childLayers, childLayers);
-
-        mutations.removals.forEach(function(layer) {
-            var node = this._dataGridNodesByLayerId[layer.layerId];
-            if (node) {
-                dataGrid.removeChild(node);
-                delete this._dataGridNodesByLayerId[layer.layerId];
-            }
-        }, this);
-
-        mutations.additions.forEach(function(layer) {
-            var node = this._dataGridNodeForLayer(layer);
-            if (node)
-                dataGrid.appendChild(node);
-        }, this);
-
-        mutations.preserved.forEach(function(layer) {
-            var node = this._dataGridNodesByLayerId[layer.layerId];
-            if (node)
-                node.layer = layer;
-        }, this);
-
-        this._sortDataGrid();
-
-        this._childLayersRow.dataGrid = !isEmptyObject(childLayers) ? this._dataGrid : null;
-    },
-
-    _dataGridNodeForLayer: function(layer)
-    {
-        var node = new WebInspector.LayerTreeDataGridNode(layer);
-
-        this._dataGridNodesByLayerId[layer.layerId] = node;
-
-        return node;
-    },
-
-    _updateMetrics: function(layerForNode, childLayers)
-    {
-        var layerCount = 0;
-        var totalMemory = 0;
-
-        if (layerForNode) {
-            layerCount++;
-            totalMemory += layerForNode.memory || 0;
-        }
-
-        childLayers.forEach(function(layer) {
-            layerCount++;
-            totalMemory += layer.memory || 0;
-        });
-
-        this._layersCountLabel.textContent = WebInspector.UIString(&quot;Layer Count: %d&quot;).format(layerCount);
-        this._layersMemoryLabel.textContent = WebInspector.UIString(&quot;Memory: %s&quot;).format(Number.bytesToString(totalMemory));
-    },
-
-    _showPopoverForSelectedNode: function()
-    {
-        var dataGridNode = this._dataGrid.selectedNode;
-        if (!dataGridNode)
-            return;
-
-        this._contentForPopover(dataGridNode.layer, function(content) {
-            if (dataGridNode === this._dataGrid.selectedNode)
-                this._updatePopoverForSelectedNode(content);
-        }.bind(this));
-    },
-
-    _updatePopoverForSelectedNode: function(content)
-    {
-        var dataGridNode = this._dataGrid.selectedNode;
-        if (!dataGridNode)
-            return;
-
-        var popover = this._popover;
-        if (!popover)
-            popover = this._popover = new WebInspector.Popover;
-
-        var targetFrame = WebInspector.Rect.rectFromClientRect(dataGridNode.element.getBoundingClientRect());
-
-        if (content)
-            popover.content = content;
-
-        popover.present(targetFrame.pad(2), [WebInspector.RectEdge.MIN_X]);
-    },
-
-    _hidePopover: function()
-    {
-        if (this._popover)
-            this._popover.dismiss();
-    },
-
-    _contentForPopover: function(layer, callback)
-    {
-        var content = document.createElement(&quot;div&quot;);
-        content.className = &quot;layer-tree-popover&quot;;
-
-        content.appendChild(document.createElement(&quot;p&quot;)).textContent = WebInspector.UIString(&quot;Reasons for compositing:&quot;);
-
-        var list = content.appendChild(document.createElement(&quot;ul&quot;));
-
-        WebInspector.layerTreeManager.reasonsForCompositingLayer(layer, function(compositingReasons) {
-            if (isEmptyObject(compositingReasons)) {
-                callback(content);
-                return;
-            }
-
-            this._populateListOfCompositingReasons(list, compositingReasons);
-
-            callback(content);
-        }.bind(this));
-
-        return content;
-    },
-
-    _populateListOfCompositingReasons: function(list, compositingReasons)
-    {
-        function addReason(reason)
-        {
-            list.appendChild(document.createElement(&quot;li&quot;)).textContent = reason;
-        }
-
-        if (compositingReasons.transform3D)
-            addReason(WebInspector.UIString(&quot;Element has a 3D transform&quot;));
-        if (compositingReasons.video)
-            addReason(WebInspector.UIString(&quot;Element is &lt;video&gt;&quot;));
-        if (compositingReasons.canvas)
-            addReason(WebInspector.UIString(&quot;Element is &lt;canvas&gt;&quot;));
-        if (compositingReasons.plugin)
-            addReason(WebInspector.UIString(&quot;Element is a plug-in&quot;));
-        if (compositingReasons.iFrame)
-            addReason(WebInspector.UIString(&quot;Element is &lt;iframe&gt;&quot;));
-        if (compositingReasons.backfaceVisibilityHidden)
-            addReason(WebInspector.UIString(&quot;Element has “backface-visibility: hidden” style&quot;));
-        if (compositingReasons.clipsCompositingDescendants)
-            addReason(WebInspector.UIString(&quot;Element clips compositing descendants&quot;));
-        if (compositingReasons.animation)
-            addReason(WebInspector.UIString(&quot;Element is animated&quot;));
-        if (compositingReasons.filters)
-            addReason(WebInspector.UIString(&quot;Element has CSS filters applied&quot;));
-        if (compositingReasons.positionFixed)
-            addReason(WebInspector.UIString(&quot;Element has “position: fixed” style&quot;));
-        if (compositingReasons.positionSticky)
-            addReason(WebInspector.UIString(&quot;Element has “position: sticky” style&quot;));
-        if (compositingReasons.overflowScrollingTouch)
-            addReason(WebInspector.UIString(&quot;Element has “-webkit-overflow-scrolling: touch” style&quot;));
-        if (compositingReasons.stacking)
-            addReason(WebInspector.UIString(&quot;Element establishes a stacking context&quot;));
-        if (compositingReasons.overlap)
-            addReason(WebInspector.UIString(&quot;Element overlaps other compositing element&quot;));
-        if (compositingReasons.negativeZIndexChildren)
-            addReason(WebInspector.UIString(&quot;Element has children with a negative z-index&quot;));
-        if (compositingReasons.transformWithCompositedDescendants)
-            addReason(WebInspector.UIString(&quot;Element has a 2D transform and composited descendants&quot;));
-        if (compositingReasons.opacityWithCompositedDescendants)
-            addReason(WebInspector.UIString(&quot;Element has opacity applied and composited descendants&quot;));
-        if (compositingReasons.maskWithCompositedDescendants)
-            addReason(WebInspector.UIString(&quot;Element is masked and composited descendants&quot;));
-        if (compositingReasons.reflectionWithCompositedDescendants)
-            addReason(WebInspector.UIString(&quot;Element has a reflection and composited descendants&quot;));
-        if (compositingReasons.filterWithCompositedDescendants)
-            addReason(WebInspector.UIString(&quot;Element has CSS filters applied and composited descendants&quot;));
-        if (compositingReasons.blendingWithCompositedDescendants)
-            addReason(WebInspector.UIString(&quot;Element has CSS blending applied and composited descendants&quot;));
-        if (compositingReasons.isolatesCompositedBlendingDescendants)
-            addReason(WebInspector.UIString(&quot;Element is a stacking context and has composited descendants with CSS blending applied&quot;));
-        if (compositingReasons.perspective)
-            addReason(WebInspector.UIString(&quot;Element has perspective applied&quot;));
-        if (compositingReasons.preserve3D)
-            addReason(WebInspector.UIString(&quot;Element has “transform-style: preserve-3d” style&quot;));
-        if (compositingReasons.root)
-            addReason(WebInspector.UIString(&quot;Element is the root element&quot;));
-        if (compositingReasons.blending)
-            addReason(WebInspector.UIString(&quot;Element has “blend-mode” style&quot;));
-    }
-};
-
-WebInspector.LayerTreeSidebarPanel.prototype.__proto__ = WebInspector.DOMDetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsNavigationSidebarPanelcss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.css (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.css        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.css        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -24,14 +24,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> .sidebar &gt; .panel.navigation &gt; .content {
</span><del>-    position: absolute;
-    top: 0;
-    left: 0;
-    right: 0;
</del><span class="cx">     bottom: 28px;
</span><del>-
-    overflow-x: hidden;
-    overflow-y: auto;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> body.mac-platform.legacy .sidebar &gt; .panel.navigation &gt; .content {
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsNavigationSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/NavigationSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.NavigationSidebarPanel = function(identifier, displayName, image, keyboardShortcutKey, autoPruneOldTopLevelResourceTreeElements, autoHideToolbarItemWhenEmpty, wantsTopOverflowShadow, element, role, label) {
</del><ins>+WebInspector.NavigationSidebarPanel = function(identifier, displayName, image, keyboardShortcutKey, autoPruneOldTopLevelResourceTreeElements, autoHideToolbarItemWhenEmpty, wantsTopOverflowShadow, element, role, label)
+{
</ins><span class="cx">     if (keyboardShortcutKey)
</span><span class="cx">         this._keyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Control, keyboardShortcutKey, this.toggle.bind(this));
</span><span class="cx"> 
</span><span class="lines">@@ -46,10 +47,7 @@
</span><span class="cx"> 
</span><span class="cx">     this._visibleContentTreeOutlines = new Set;
</span><span class="cx"> 
</span><del>-    this._contentElement = document.createElement(&quot;div&quot;);
-    this._contentElement.className = WebInspector.NavigationSidebarPanel.ContentElementStyleClassName;
-    this._contentElement.addEventListener(&quot;scroll&quot;, this._updateContentOverflowShadowVisibility.bind(this));
-    this.element.appendChild(this._contentElement);
</del><ins>+    this.contentElement.addEventListener(&quot;scroll&quot;, this._updateContentOverflowShadowVisibility.bind(this));
</ins><span class="cx"> 
</span><span class="cx">     this._contentTreeOutline = this.createContentTreeOutline(true);
</span><span class="cx"> 
</span><span class="lines">@@ -93,7 +91,6 @@
</span><span class="cx"> WebInspector.NavigationSidebarPanel.StyleClassName = &quot;navigation&quot;;
</span><span class="cx"> WebInspector.NavigationSidebarPanel.OverflowShadowElementStyleClassName = &quot;overflow-shadow&quot;;
</span><span class="cx"> WebInspector.NavigationSidebarPanel.TopOverflowShadowElementStyleClassName = &quot;top&quot;;
</span><del>-WebInspector.NavigationSidebarPanel.ContentElementStyleClassName = &quot;content&quot;;
</del><span class="cx"> WebInspector.NavigationSidebarPanel.ContentTreeOutlineElementHiddenStyleClassName = &quot;hidden&quot;;
</span><span class="cx"> WebInspector.NavigationSidebarPanel.ContentTreeOutlineElementStyleClassName = &quot;navigation-sidebar-panel-content-tree-outline&quot;;
</span><span class="cx"> WebInspector.NavigationSidebarPanel.HideDisclosureButtonsStyleClassName = &quot;hide-disclosure-buttons&quot;;
</span><span class="lines">@@ -106,14 +103,10 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.NavigationSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.NavigationSidebarPanel,
</span><ins>+    __proto__: WebInspector.SidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><del>-    get contentElement()
-    {
-        return this._contentElement;
-    },
-
</del><span class="cx">     get contentTreeOutlineElement()
</span><span class="cx">     {
</span><span class="cx">         return this._contentTreeOutline.element;
</span><span class="lines">@@ -173,7 +166,7 @@
</span><span class="cx">         contentTreeOutlineElement.className = WebInspector.NavigationSidebarPanel.ContentTreeOutlineElementStyleClassName;
</span><span class="cx">         if (!dontHideByDefault)
</span><span class="cx">             contentTreeOutlineElement.classList.add(WebInspector.NavigationSidebarPanel.ContentTreeOutlineElementHiddenStyleClassName);
</span><del>-        this._contentElement.appendChild(contentTreeOutlineElement);
</del><ins>+        this.contentElement.appendChild(contentTreeOutlineElement);
</ins><span class="cx"> 
</span><span class="cx">         var contentTreeOutline = new TreeOutline(contentTreeOutlineElement);
</span><span class="cx">         contentTreeOutline.allowsRepeatSelection = true;
</span><span class="lines">@@ -441,8 +434,8 @@
</span><span class="cx">     {
</span><span class="cx">         delete this._updateContentOverflowShadowVisibilityIdentifier;
</span><span class="cx"> 
</span><del>-        var scrollHeight = this._contentElement.scrollHeight;
-        var offsetHeight = this._contentElement.offsetHeight;
</del><ins>+        var scrollHeight = this.contentElement.scrollHeight;
+        var offsetHeight = this.contentElement.offsetHeight;
</ins><span class="cx"> 
</span><span class="cx">         if (scrollHeight &lt; offsetHeight) {
</span><span class="cx">             if (this._topOverflowShadowElement)
</span><span class="lines">@@ -456,7 +449,7 @@
</span><span class="cx">         else
</span><span class="cx">             const edgeThreshold = 1;
</span><span class="cx"> 
</span><del>-        var scrollTop = this._contentElement.scrollTop;
</del><ins>+        var scrollTop = this.contentElement.scrollTop;
</ins><span class="cx"> 
</span><span class="cx">         var topCoverage = Math.min(scrollTop, edgeThreshold);
</span><span class="cx">         var bottomCoverage = Math.max(0, (offsetHeight + scrollTop) - (scrollHeight - edgeThreshold));
</span><span class="lines">@@ -733,5 +726,3 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.NavigationSidebarPanel.prototype.__proto__ = WebInspector.SidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsProbeDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -56,14 +56,14 @@
</span><span class="cx">     {
</span><span class="cx">         for (var probeSet of this._inspectedProbeSets) {
</span><span class="cx">             var removedSection = this._probeSetSections.get(probeSet);
</span><del>-            this.element.removeChild(removedSection.element);
</del><ins>+            this.contentElement.removeChild(removedSection.element);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         this._inspectedProbeSets = newProbeSets;
</span><span class="cx"> 
</span><span class="cx">         for (var probeSet of newProbeSets) {
</span><span class="cx">             var shownSection = this._probeSetSections.get(probeSet);
</span><del>-            this.element.appendChild(shownSection.element);
</del><ins>+            this.contentElement.appendChild(shownSection.element);
</ins><span class="cx">         }
</span><span class="cx">     },
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsResourceDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ResourceDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.ResourceDetailsSidebarPanel = function() {
</del><ins>+WebInspector.ResourceDetailsSidebarPanel = function()
+{
</ins><span class="cx">     WebInspector.DetailsSidebarPanel.call(this, &quot;resource-details&quot;, WebInspector.UIString(&quot;Resource&quot;), WebInspector.UIString(&quot;Resource&quot;), &quot;Images/NavigationItemFile.svg&quot;, &quot;1&quot;);
</span><span class="cx"> 
</span><span class="cx">     this.element.classList.add(WebInspector.ResourceDetailsSidebarPanel.StyleClassName);
</span><span class="lines">@@ -99,17 +100,18 @@
</span><span class="cx">     this._imageSizeSection = new WebInspector.DetailsSection(&quot;resource-type&quot;, WebInspector.UIString(&quot;Image Size&quot;));
</span><span class="cx">     this._imageSizeSection.groups = [new WebInspector.DetailsSectionGroup([this._imageWidthRow, this._imageHeightRow])];
</span><span class="cx"> 
</span><del>-    this.element.appendChild(this._typeSection.element);
-    this.element.appendChild(this._locationSection.element);
-    this.element.appendChild(this._requestAndResponseSection.element);
-    this.element.appendChild(this._requestHeadersSection.element);
-    this.element.appendChild(this._responseHeadersSection.element);
</del><ins>+    this.contentElement.appendChild(this._typeSection.element);
+    this.contentElement.appendChild(this._locationSection.element);
+    this.contentElement.appendChild(this._requestAndResponseSection.element);
+    this.contentElement.appendChild(this._requestHeadersSection.element);
+    this.contentElement.appendChild(this._responseHeadersSection.element);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WebInspector.ResourceDetailsSidebarPanel.StyleClassName = &quot;resource&quot;;
</span><span class="cx"> 
</span><span class="cx"> WebInspector.ResourceDetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.ResourceDetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.DetailsSidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -227,7 +229,7 @@
</span><span class="cx"> 
</span><span class="cx">         if (urlComponents.queryString) {
</span><span class="cx">             // Ensure the &quot;Query Parameters&quot; section is displayed, right after the &quot;Request &amp; Response&quot; section.
</span><del>-            this.element.insertBefore(this._queryParametersSection.element, this._requestAndResponseSection.element.nextSibling);
</del><ins>+            this.contentElement.insertBefore(this._queryParametersSection.element, this._requestAndResponseSection.element.nextSibling);
</ins><span class="cx"> 
</span><span class="cx">             this._queryParametersRow.dataGrid = this._createNameValueDataGrid(parseQueryString(urlComponents.queryString, true));
</span><span class="cx">         } else {
</span><span class="lines">@@ -385,12 +387,12 @@
</span><span class="cx">         if (resource.type !== WebInspector.Resource.Type.Image || resource.failed) {
</span><span class="cx">             var imageSectionElement = this._imageSizeSection.element;
</span><span class="cx">             if (imageSectionElement.parentNode)
</span><del>-                this.element.removeChild(imageSectionElement);
</del><ins>+                this.contentElement.removeChild(imageSectionElement);
</ins><span class="cx">             return;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Ensure the section is displayed, right before the &quot;Location&quot; section.
</span><del>-        this.element.insertBefore(this._imageSizeSection.element, this._locationSection.element);
</del><ins>+        this.contentElement.insertBefore(this._imageSizeSection.element, this._locationSection.element);
</ins><span class="cx"> 
</span><span class="cx">         // Get the metrics for this resource and fill in the metrics rows with that information.
</span><span class="cx">         resource.getImageSize(function(size) {
</span><span class="lines">@@ -419,7 +421,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // Ensure the section is displayed, right before the &quot;Request Headers&quot; section.
</span><del>-        this.element.insertBefore(this._requestDataSection.element, this._requestHeadersSection.element);
</del><ins>+        this.contentElement.insertBefore(this._requestDataSection.element, this._requestHeadersSection.element);
</ins><span class="cx"> 
</span><span class="cx">         var requestDataContentType = resource.requestDataContentType || &quot;&quot;;
</span><span class="cx">         if (requestDataContentType &amp;&amp; requestDataContentType.match(/^application\/x-www-form-urlencoded\s*(;.*)?$/i)) {
</span><span class="lines">@@ -474,5 +476,3 @@
</span><span class="cx">         this._requestDataSection.groups = [new WebInspector.DetailsSectionGroup(rows)];
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.ResourceDetailsSidebarPanel.prototype.__proto__ = WebInspector.DetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsScopeChainDetailsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/ScopeChainDetailsSidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> WebInspector.ScopeChainDetailsSidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.ScopeChainDetailsSidebarPanel,
</span><ins>+    __proto__: WebInspector.DetailsSidebarPanel.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -161,9 +162,9 @@
</span><span class="cx">             if (this.callFrame !== callFrame)
</span><span class="cx">                 return;
</span><span class="cx"> 
</span><del>-            this.element.removeChildren();
</del><ins>+            this.contentElement.removeChildren();
</ins><span class="cx">             for (var i = 0; i &lt; detailsSections.length; ++i)
</span><del>-                this.element.appendChild(detailsSections[i].element);
</del><ins>+                this.contentElement.appendChild(detailsSections[i].element);
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         // We need a timeout in place in case there are long running, pending backend dispatches. This can happen
</span><span class="lines">@@ -176,5 +177,3 @@
</span><span class="cx">         InspectorBackend.runAfterPendingDispatches(delayedWork.bind(this));
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.ScopeChainDetailsSidebarPanel.prototype.__proto__ = WebInspector.DetailsSidebarPanel.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsSidebarPanelcssfromrev175765trunkSourceWebInspectorUIUserInterfaceViewsDetailsSidebarPanelcss"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.css (from rev 175765, trunk/Source/WebInspectorUI/UserInterface/Views/DetailsSidebarPanel.css) (0 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.css                                (rev 0)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.css        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+.sidebar &gt; .panel &gt; .content {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+
+    overflow-x: hidden;
+    overflow-y: auto;
+}
</ins></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SidebarPanel.js        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -23,7 +23,8 @@
</span><span class="cx">  * THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-WebInspector.SidebarPanel = function(identifier, displayName, showToolTip, hideToolTip, image, element, role, label) {
</del><ins>+WebInspector.SidebarPanel = function(identifier, displayName, showToolTip, hideToolTip, image, element, role, label)
+{
</ins><span class="cx">     WebInspector.Object.call(this);
</span><span class="cx"> 
</span><span class="cx">     this._identifier = identifier;
</span><span class="lines">@@ -39,13 +40,18 @@
</span><span class="cx">     this._element.setAttribute(&quot;role&quot;, role || &quot;group&quot;);
</span><span class="cx">     this._element.setAttribute(&quot;aria-label&quot;, label || displayName);
</span><span class="cx"> 
</span><ins>+    this._contentElement = document.createElement(&quot;div&quot;);
+    this._contentElement.className = WebInspector.SidebarPanel.ContentElementStyleClassName;
+    this._element.appendChild(this._contentElement);
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> WebInspector.SidebarPanel.StyleClassName = &quot;panel&quot;;
</span><span class="cx"> WebInspector.SidebarPanel.SelectedStyleClassName = &quot;selected&quot;;
</span><ins>+WebInspector.SidebarPanel.ContentElementStyleClassName = &quot;content&quot;;
</ins><span class="cx"> 
</span><span class="cx"> WebInspector.SidebarPanel.prototype = {
</span><span class="cx">     constructor: WebInspector.SidebarPanel,
</span><ins>+    __proto__: WebInspector.Object.prototype,
</ins><span class="cx"> 
</span><span class="cx">     // Public
</span><span class="cx"> 
</span><span class="lines">@@ -64,6 +70,11 @@
</span><span class="cx">         return this._element;
</span><span class="cx">     },
</span><span class="cx"> 
</span><ins>+    get contentElement()
+    {
+        return this._contentElement;
+    },
+
</ins><span class="cx">     get visible()
</span><span class="cx">     {
</span><span class="cx">         return this.selected &amp;&amp; this._parentSidebar &amp;&amp; !this._parentSidebar.collapsed;
</span><span class="lines">@@ -152,5 +163,3 @@
</span><span class="cx">         this._toolbarItem.activated = this.visible;
</span><span class="cx">     }
</span><span class="cx"> };
</span><del>-
-WebInspector.SidebarPanel.prototype.__proto__ = WebInspector.Object.prototype;
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -379,7 +379,6 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\DetailsSectionPropertiesRow.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\DetailsSectionRow.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\DetailsSectionSimpleRow.js&quot; /&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\DetailsSidebarPanel.css&quot; /&gt;
</del><span class="cx">     &lt;None Include=&quot;..\UserInterface\DetailsSidebarPanel.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\DividerNavigationItem.css&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\DividerNavigationItem.js&quot; /&gt;
</span><span class="lines">@@ -680,8 +679,8 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayerTreeDataGridNode.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayerTreeManager.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayerTreeObserver.js&quot; /&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\LayerTreeSidebarPanel.css&quot; /&gt;
-    &lt;None Include=&quot;..\UserInterface\LayerTreeSidebarPanel.js&quot; /&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\LayerTreeDetailsSidebarPanel.css&quot; /&gt;
+    &lt;None Include=&quot;..\UserInterface\LayerTreeDetailsSidebarPanel.js&quot; /&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineDataGrid.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineDataGridNode.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineRecord.js&quot; /&gt;
</span><span class="lines">@@ -771,6 +770,7 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\Setting.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\Sidebar.css&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\Sidebar.js&quot; /&gt;
</span><ins>+    &lt;None Include=&quot;..\UserInterface\SidebarPanel.css&quot; /&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\SidebarPanel.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\SourceCode.js&quot; /&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\SourceCodeLocation.js&quot; /&gt;
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIWebInspectorUIvcxprojWebInspectorUIvcxprojfilters"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters (175766 => 175767)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters        2014-11-07 23:36:20 UTC (rev 175766)
+++ trunk/Source/WebInspectorUI/WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters        2014-11-07 23:37:38 UTC (rev 175767)
</span><span class="lines">@@ -387,9 +387,6 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\DetailsSectionSimpleRow.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\DetailsSidebarPanel.css&quot;&gt;
-      &lt;Filter&gt;UserInterface&lt;/Filter&gt;
-    &lt;/None&gt;
</del><span class="cx">     &lt;None Include=&quot;..\UserInterface\DetailsSidebarPanel.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><span class="lines">@@ -633,10 +630,10 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayerTreeObserver.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\LayerTreeSidebarPanel.css&quot;&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\LayerTreeDetailsSidebarPanel.css&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><del>-    &lt;None Include=&quot;..\UserInterface\LayerTreeSidebarPanel.js&quot;&gt;
</del><ins>+    &lt;None Include=&quot;..\UserInterface\LayerTreeDetailsSidebarPanel.js&quot;&gt;
</ins><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\LayoutTimelineDataGrid.js&quot;&gt;
</span><span class="lines">@@ -897,6 +894,9 @@
</span><span class="cx">     &lt;None Include=&quot;..\UserInterface\Sidebar.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span><ins>+    &lt;None Include=&quot;..\UserInterface\SidebarPanel.css&quot;&gt;
+      &lt;Filter&gt;UserInterface&lt;/Filter&gt;
+    &lt;/None&gt;
</ins><span class="cx">     &lt;None Include=&quot;..\UserInterface\SidebarPanel.js&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;UserInterface&lt;/Filter&gt;
</span><span class="cx">     &lt;/None&gt;
</span></span></pre>
</div>
</div>

</body>
</html>