<!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>[200566] 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/200566">200566</a></dd>
<dt>Author</dt> <dd>mattbaker@apple.com</dd>
<dt>Date</dt> <dd>2016-05-08 16:57:44 -0700 (Sun, 08 May 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Web Inspector: Add Breakpoints and Scripts folders to Debugger sidebar
https://bugs.webkit.org/show_bug.cgi?id=151119
<rdar://problem/23488916>
Reviewed by Timothy Hatcher.
Add a collapsible Sources section to the Debugger beneath the existing
Breakpoints section.
* UserInterface/Views/DebuggerSidebarPanel.css:
Remove unused CSS class names.
(.sidebar > .panel.navigation.debugger .details-section.scripts:not(.collapsed)):
Hide scripts section bottom border when expanded. As the last
section, a border only adds visual clutter.
(.sidebar > .panel.navigation.debugger .details-section.scripts): Deleted.
(.sidebar > .panel.navigation.debugger.paused .details-section.scripts): Deleted.
(.sidebar > .panel.navigation.debugger .details-section.scripts .header): Deleted.
(.sidebar > .panel.navigation.debugger.paused .details-section.scripts .header): Deleted.
(.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content): Deleted.
(.sidebar > .panel.navigation.debugger.paused .details-section.scripts.collapsed > .content): Deleted.
No longer needed.
* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
Create separate "Breakpoints" and "Sources" sections, and make filter
placeholder text generic. Remove unused class from breakpoints tree.
(WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject):
Check both breakpoint and scripts tree outlines.
(WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
(WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToTreeOutline):
Make helper function generic.
(WebInspector.DebuggerSidebarPanel.prototype._addResource):
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._addScript):
Add resources to the scripts tree.
(WebInspector.DebuggerSidebarPanel.prototype._scriptsCleared):
Clear the scripts tree.
(WebInspector.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
Remove script element when last breakpoint is removed.
(WebInspector.DebuggerSidebarPanel.prototype._addIssue):
(WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline): Deleted.
Renamed _addTreeElementForSourceCodeToTreeOutline.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUILocalizationsenlprojlocalizedStringsjs">trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDebuggerSidebarPanelcss">trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.css</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceViewsDebuggerSidebarPaneljs">trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (200565 => 200566)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2016-05-08 23:55:53 UTC (rev 200565)
+++ trunk/Source/WebInspectorUI/ChangeLog        2016-05-08 23:57:44 UTC (rev 200566)
</span><span class="lines">@@ -1,5 +1,58 @@
</span><span class="cx"> 2016-05-08 Matt Baker <mattbaker@apple.com>
</span><span class="cx">
</span><ins>+ Web Inspector: Add Breakpoints and Scripts folders to Debugger sidebar
+ https://bugs.webkit.org/show_bug.cgi?id=151119
+ <rdar://problem/23488916>
+
+ Reviewed by Timothy Hatcher.
+
+ Add a collapsible Sources section to the Debugger beneath the existing
+ Breakpoints section.
+
+ * UserInterface/Views/DebuggerSidebarPanel.css:
+ Remove unused CSS class names.
+
+ (.sidebar > .panel.navigation.debugger .details-section.scripts:not(.collapsed)):
+ Hide scripts section bottom border when expanded. As the last
+ section, a border only adds visual clutter.
+
+ (.sidebar > .panel.navigation.debugger .details-section.scripts): Deleted.
+ (.sidebar > .panel.navigation.debugger.paused .details-section.scripts): Deleted.
+ (.sidebar > .panel.navigation.debugger .details-section.scripts .header): Deleted.
+ (.sidebar > .panel.navigation.debugger.paused .details-section.scripts .header): Deleted.
+ (.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content): Deleted.
+ (.sidebar > .panel.navigation.debugger.paused .details-section.scripts.collapsed > .content): Deleted.
+ No longer needed.
+
+ * UserInterface/Views/DebuggerSidebarPanel.js:
+ (WebInspector.DebuggerSidebarPanel):
+ Create separate "Breakpoints" and "Sources" sections, and make filter
+ placeholder text generic. Remove unused class from breakpoints tree.
+
+ (WebInspector.DebuggerSidebarPanel.prototype.treeElementForRepresentedObject):
+ Check both breakpoint and scripts tree outlines.
+
+ (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
+ (WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToTreeOutline):
+ Make helper function generic.
+
+ (WebInspector.DebuggerSidebarPanel.prototype._addResource):
+ (WebInspector.DebuggerSidebarPanel.prototype._mainResourceDidChange):
+ (WebInspector.DebuggerSidebarPanel.prototype._addScript):
+ Add resources to the scripts tree.
+
+ (WebInspector.DebuggerSidebarPanel.prototype._scriptsCleared):
+ Clear the scripts tree.
+
+ (WebInspector.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
+ Remove script element when last breakpoint is removed.
+
+ (WebInspector.DebuggerSidebarPanel.prototype._addIssue):
+ (WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline): Deleted.
+ Renamed _addTreeElementForSourceCodeToTreeOutline.
+
+2016-05-08 Matt Baker <mattbaker@apple.com>
+
</ins><span class="cx"> Web Inspector: SourceCodeTextEditor issue widgets/line styles should reset when log is cleared
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=157460
</span><span class="cx"> <rdar://problem/26159633>
</span></span></pre></div>
<a id="trunkSourceWebInspectorUILocalizationsenlprojlocalizedStringsjs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js (200565 => 200566)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js        2016-05-08 23:55:53 UTC (rev 200565)
+++ trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js        2016-05-08 23:57:44 UTC (rev 200566)
</span><span class="lines">@@ -110,6 +110,7 @@
</span><span class="cx"> localizedStrings["Box Shadow"] = "Box Shadow";
</span><span class="cx"> localizedStrings["Breakdown"] = "Breakdown";
</span><span class="cx"> localizedStrings["Breakdown of each memory category at the end of the selected time range"] = "Breakdown of each memory category at the end of the selected time range";
</span><ins>+localizedStrings["Breakpoints"] = "Breakpoints";
</ins><span class="cx"> localizedStrings["Bubbling"] = "Bubbling";
</span><span class="cx"> localizedStrings["Busy"] = "Busy";
</span><span class="cx"> localizedStrings["CSP Hash"] = "CSP Hash";
</span><span class="lines">@@ -319,8 +320,8 @@
</span><span class="cx"> localizedStrings["Fill"] = "Fill";
</span><span class="cx"> localizedStrings["Fill Mode"] = "Fill Mode";
</span><span class="cx"> localizedStrings["Filter %s"] = "Filter %s";
</span><del>-localizedStrings["Filter Breakpoint List"] = "Filter Breakpoint List";
</del><span class="cx"> localizedStrings["Filter Console Log"] = "Filter Console Log";
</span><ins>+localizedStrings["Filter List"] = "Filter List";
</ins><span class="cx"> localizedStrings["Filter Records"] = "Filter Records";
</span><span class="cx"> localizedStrings["Filter Resource List"] = "Filter Resource List";
</span><span class="cx"> localizedStrings["Filter Search Results"] = "Filter Search Results";
</span><span class="lines">@@ -657,6 +658,7 @@
</span><span class="cx"> localizedStrings["Sockets"] = "Sockets";
</span><span class="cx"> localizedStrings["Sort Ascending"] = "Sort Ascending";
</span><span class="cx"> localizedStrings["Sort Descending"] = "Sort Descending";
</span><ins>+localizedStrings["Sources"] = "Sources";
</ins><span class="cx"> localizedStrings["Spacing"] = "Spacing";
</span><span class="cx"> localizedStrings["Specificity: (%d, %d, %d)"] = "Specificity: (%d, %d, %d)";
</span><span class="cx"> localizedStrings["Specificity: No value for selected element"] = "Specificity: No value for selected element";
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDebuggerSidebarPanelcss"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.css (200565 => 200566)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.css        2016-05-08 23:55:53 UTC (rev 200565)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.css        2016-05-08 23:57:44 UTC (rev 200566)
</span><span class="lines">@@ -66,26 +66,6 @@
</span><span class="cx"> display: block;
</span><span class="cx"> }
</span><span class="cx">
</span><del>-.sidebar > .panel.navigation.debugger .details-section.scripts {
</del><ins>+.sidebar > .panel.navigation.debugger .details-section.scripts:not(.collapsed) {
</ins><span class="cx"> border-bottom: none;
</span><span class="cx"> }
</span><del>-
-.sidebar > .panel.navigation.debugger.paused .details-section.scripts {
- border-bottom: 1px solid var(--border-color);
-}
-
-.sidebar > .panel.navigation.debugger .details-section.scripts .header {
- display: none;
-}
-
-.sidebar > .panel.navigation.debugger.paused .details-section.scripts .header {
- display: block;
-}
-
-.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content {
- display: block;
-}
-
-.sidebar > .panel.navigation.debugger.paused .details-section.scripts.collapsed > .content {
- display: none;
-}
</del></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceViewsDebuggerSidebarPaneljs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (200565 => 200566)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js        2016-05-08 23:55:53 UTC (rev 200565)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js        2016-05-08 23:57:44 UTC (rev 200566)
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx"> this._allUncaughtExceptionsBreakpointTreeElement = new WebInspector.BreakpointTreeElement(WebInspector.debuggerManager.allUncaughtExceptionsBreakpoint, WebInspector.DebuggerSidebarPanel.ExceptionIconStyleClassName, WebInspector.UIString("All Uncaught Exceptions"));
</span><span class="cx"> this.suppressFilteringOnTreeElements([this._globalBreakpointsFolderTreeElement, this._allExceptionsBreakpointTreeElement, this._allUncaughtExceptionsBreakpointTreeElement]);
</span><span class="cx">
</span><del>- this.filterBar.placeholder = WebInspector.UIString("Filter Breakpoint List");
</del><ins>+ this.filterBar.placeholder = WebInspector.UIString("Filter List");
</ins><span class="cx">
</span><span class="cx"> function showResourcesWithIssuesOnlyFilterFunction(treeElement)
</span><span class="cx"> {
</span><span class="lines">@@ -130,10 +130,9 @@
</span><span class="cx"> breakpointsRow.element.appendChild(this._breakpointsContentTreeOutline.element);
</span><span class="cx">
</span><span class="cx"> let breakpointsGroup = new WebInspector.DetailsSectionGroup([breakpointsRow]);
</span><del>- let breakpointsSection = new WebInspector.DetailsSection("scripts", WebInspector.UIString("Scripts"), [breakpointsGroup]);
</del><ins>+ let breakpointsSection = new WebInspector.DetailsSection("breakpoints", WebInspector.UIString("Breakpoints"), [breakpointsGroup]);
</ins><span class="cx"> this.contentView.element.appendChild(breakpointsSection.element);
</span><span class="cx">
</span><del>- this._breakpointsContentTreeOutline.element.classList.add("breakpoints");
</del><span class="cx"> this._breakpointsContentTreeOutline.addEventListener(WebInspector.TreeOutline.Event.SelectionDidChange, this._treeSelectionDidChange, this);
</span><span class="cx"> this._breakpointsContentTreeOutline.ondelete = this._breakpointTreeOutlineDeleteTreeElement.bind(this);
</span><span class="cx"> this._breakpointsContentTreeOutline.oncontextmenu = this._breakpointTreeOutlineContextMenuTreeElement.bind(this);
</span><span class="lines">@@ -143,6 +142,16 @@
</span><span class="cx"> this._globalBreakpointsFolderTreeElement.appendChild(this._allUncaughtExceptionsBreakpointTreeElement);
</span><span class="cx"> this._globalBreakpointsFolderTreeElement.expand();
</span><span class="cx">
</span><ins>+ this._scriptsContentTreeOutline = this.createContentTreeOutline(true);
+ this._scriptsContentTreeOutline.addEventListener(WebInspector.TreeOutline.Event.SelectionDidChange, this._treeSelectionDidChange, this);
+
+ let scriptsRow = new WebInspector.DetailsSectionRow;
+ scriptsRow.element.appendChild(this._scriptsContentTreeOutline.element);
+
+ let scriptsGroup = new WebInspector.DetailsSectionGroup([scriptsRow]);
+ this._scriptsSection = new WebInspector.DetailsSection("scripts", WebInspector.UIString("Sources"), [scriptsGroup]);
+ this.contentView.element.appendChild(this._scriptsSection.element);
+
</ins><span class="cx"> this._callStackContentTreeOutline = this.createContentTreeOutline(true, true);
</span><span class="cx"> this._callStackContentTreeOutline.addEventListener(WebInspector.TreeOutline.Event.SelectionDidChange, this._treeSelectionDidChange, this);
</span><span class="cx">
</span><span class="lines">@@ -157,8 +166,7 @@
</span><span class="cx"> this._pauseReasonLinkContainerElement = document.createElement("span");
</span><span class="cx"> this._pauseReasonTextRow = new WebInspector.DetailsSectionTextRow;
</span><span class="cx"> this._pauseReasonGroup = new WebInspector.DetailsSectionGroup([this._pauseReasonTextRow]);
</span><del>- this._pauseReasonSection = new WebInspector.DetailsSection("paused-reason", null, [this._pauseReasonGroup], this._pauseReasonLinkContainerElement);
- this._pauseReasonSection.title = WebInspector.UIString("Pause Reason");
</del><ins>+ this._pauseReasonSection = new WebInspector.DetailsSection("paused-reason", WebInspector.UIString("Pause Reason"), [this._pauseReasonGroup], this._pauseReasonLinkContainerElement);
</ins><span class="cx">
</span><span class="cx"> WebInspector.Breakpoint.addEventListener(WebInspector.Breakpoint.Event.DisplayLocationDidChange, this._handleDebuggerObjectDisplayLocationDidChange, this);
</span><span class="cx"> WebInspector.IssueMessage.addEventListener(WebInspector.IssueMessage.Event.DisplayLocationDidChange, this._handleDebuggerObjectDisplayLocationDidChange, this);
</span><span class="lines">@@ -208,7 +216,10 @@
</span><span class="cx"> if (representedObject instanceof WebInspector.Frame)
</span><span class="cx"> representedObject = representedObject.mainResource;
</span><span class="cx">
</span><del>- let treeElement = this.contentTreeOutline.findTreeElement(representedObject);
</del><ins>+ let treeElement = this._breakpointsContentTreeOutline.findTreeElement(representedObject);
+ if (!treeElement)
+ treeElement = this._scriptsContentTreeOutline.findTreeElement(representedObject);
+
</ins><span class="cx"> if (treeElement)
</span><span class="cx"> return treeElement;
</span><span class="cx">
</span><span class="lines">@@ -315,7 +326,7 @@
</span><span class="cx"> if (!sourceCode)
</span><span class="cx"> return null;
</span><span class="cx">
</span><del>- var parentTreeElement = this._addTreeElementForSourceCodeToContentTreeOutline(sourceCode);
</del><ins>+ let parentTreeElement = this._addTreeElementForSourceCodeToTreeOutline(sourceCode, this._breakpointsContentTreeOutline);
</ins><span class="cx">
</span><span class="cx"> // Mark disabled breakpoints as resolved if there is source code loaded with that URL.
</span><span class="cx"> // This gives the illusion the breakpoint was resolved, but since we don't send disabled
</span><span class="lines">@@ -345,9 +356,9 @@
</span><span class="cx"> this._addIssue(issue);
</span><span class="cx"> }
</span><span class="cx">
</span><del>- _addTreeElementForSourceCodeToContentTreeOutline(sourceCode)
</del><ins>+ _addTreeElementForSourceCodeToTreeOutline(sourceCode, treeOutline)
</ins><span class="cx"> {
</span><del>- var treeElement = this._breakpointsContentTreeOutline.getCachedTreeElement(sourceCode);
</del><ins>+ let treeElement = treeOutline.getCachedTreeElement(sourceCode);
</ins><span class="cx"> if (!treeElement) {
</span><span class="cx"> if (sourceCode instanceof WebInspector.SourceMapResource)
</span><span class="cx"> treeElement = new WebInspector.SourceMapResourceTreeElement(sourceCode);
</span><span class="lines">@@ -366,7 +377,7 @@
</span><span class="cx"> treeElement.hasChildren = false;
</span><span class="cx"> treeElement.expand();
</span><span class="cx">
</span><del>- this._breakpointsContentTreeOutline.insertChild(treeElement, insertionIndexForObjectInListSortedByFunction(treeElement, this._breakpointsContentTreeOutline.children, this._compareTopLevelTreeElements.bind(this)));
</del><ins>+ treeOutline.insertChild(treeElement, insertionIndexForObjectInListSortedByFunction(treeElement, treeOutline.children, this._compareTopLevelTreeElements.bind(this)));
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return treeElement;
</span><span class="lines">@@ -393,7 +404,7 @@
</span><span class="cx"> if (![WebInspector.Resource.Type.Document, WebInspector.Resource.Type.Script].includes(resource.type))
</span><span class="cx"> return;
</span><span class="cx">
</span><del>- let treeElement = this._addTreeElementForSourceCodeToContentTreeOutline(resource);
</del><ins>+ let treeElement = this._addTreeElementForSourceCodeToTreeOutline(resource, this._scriptsContentTreeOutline);
</ins><span class="cx"> this._addBreakpointsForSourceCode(resource);
</span><span class="cx"> this._addIssuesForSourceCode(resource);
</span><span class="cx">
</span><span class="lines">@@ -412,7 +423,7 @@
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> var resource = event.target.mainResource;
</span><del>- this._addTreeElementForSourceCodeToContentTreeOutline(resource);
</del><ins>+ this._addTreeElementForSourceCodeToTreeOutline(resource, this._scriptsContentTreeOutline);
</ins><span class="cx"> this._addBreakpointsForSourceCode(resource);
</span><span class="cx"> this._addIssuesForSourceCode(resource);
</span><span class="cx"> }
</span><span class="lines">@@ -460,7 +471,7 @@
</span><span class="cx"> if (script.resource)
</span><span class="cx"> return null;
</span><span class="cx">
</span><del>- let treeElement = this._addTreeElementForSourceCodeToContentTreeOutline(script);
</del><ins>+ let treeElement = this._addTreeElementForSourceCodeToTreeOutline(script, this._scriptsContentTreeOutline);
</ins><span class="cx"> this._addBreakpointsForSourceCode(script);
</span><span class="cx"> this._addIssuesForSourceCode(script);
</span><span class="cx">
</span><span class="lines">@@ -489,6 +500,8 @@
</span><span class="cx">
</span><span class="cx"> this._breakpointsContentTreeOutline.removeChildAtIndex(i, true, true);
</span><span class="cx"> }
</span><ins>+
+ this._scriptsContentTreeOutline.removeChildren();
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> _breakpointAdded(event)
</span><span class="lines">@@ -544,6 +557,10 @@
</span><span class="cx"> parentTreeElement.removeChild(debuggerTreeElement);
</span><span class="cx">
</span><span class="cx"> console.assert(parentTreeElement.parent === this._breakpointsContentTreeOutline);
</span><ins>+ if (parentTreeElement.children.length)
+ return;
+
+ parentTreeElement.treeOutline.removeChild(parentTreeElement);
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> _debuggerCallFramesDidChange()
</span><span class="lines">@@ -849,7 +866,7 @@
</span><span class="cx">
</span><span class="cx"> _addIssue(issueMessage)
</span><span class="cx"> {
</span><del>- var parentTreeElement = this._addTreeElementForSourceCodeToContentTreeOutline(issueMessage.sourceCodeLocation.sourceCode);
</del><ins>+ let parentTreeElement = this._addTreeElementForSourceCodeToTreeOutline(issueMessage.sourceCodeLocation.sourceCode, this._scriptsContentTreeOutline);
</ins><span class="cx"> if (!parentTreeElement)
</span><span class="cx"> return null;
</span><span class="cx">
</span><span class="lines">@@ -889,11 +906,9 @@
</span><span class="cx"> }
</span><span class="cx"> };
</span><span class="cx">
</span><del>-WebInspector.DebuggerSidebarPanel.OffsetSectionsStyleClassName = "offset-sections";
</del><span class="cx"> WebInspector.DebuggerSidebarPanel.DebuggerPausedStyleClassName = "paused";
</span><span class="cx"> WebInspector.DebuggerSidebarPanel.ExceptionIconStyleClassName = "breakpoint-exception-icon";
</span><span class="cx"> WebInspector.DebuggerSidebarPanel.PausedBreakpointIconStyleClassName = "breakpoint-paused-icon";
</span><del>-WebInspector.DebuggerSidebarPanel.GlobalIconStyleClassName = "global-breakpoints-icon";
</del><span class="cx">
</span><span class="cx"> WebInspector.DebuggerSidebarPanel.SelectedAllExceptionsCookieKey = "debugger-sidebar-panel-all-exceptions-breakpoint";
</span><span class="cx"> WebInspector.DebuggerSidebarPanel.SelectedAllUncaughtExceptionsCookieKey = "debugger-sidebar-panel-all-uncaught-exceptions-breakpoint";
</span></span></pre>
</div>
</div>
</body>
</html>