Title: [243715] trunk/Source/WebInspectorUI
- Revision
- 243715
- Author
- drou...@apple.com
- Date
- 2019-04-01 14:50:02 -0700 (Mon, 01 Apr 2019)
Log Message
Web Inspector: Debugger: breakpoints don't populate in inspector2 on first load
https://bugs.webkit.org/show_bug.cgi?id=196063
<rdar://problem/49097787>
Reviewed by Joseph Pecoraro.
In the case that a breakpoint becomes resolved after the resource has finished loaded, there
won't be an already existing `TreeElement` for the breakpoint to replace.
This can realistically only happen if the IndexedDB lookup is super slow, or the resource is
extremely fast (e.g. a `data` url).
* UserInterface/Views/DebuggerSidebarPanel.js:
(WI.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
(WI.DebuggerSidebarPanel.prototype._addDebuggerObject): Deleted.
* UserInterface/Views/SourcesNavigationSidebarPanel.js:
(WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
(WI.SourcesNavigationSidebarPanel.prototype._addBreakpointsForSourceCode):
(WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
Modified Paths
Diff
Modified: trunk/Source/WebInspectorUI/ChangeLog (243714 => 243715)
--- trunk/Source/WebInspectorUI/ChangeLog 2019-04-01 21:27:01 UTC (rev 243714)
+++ trunk/Source/WebInspectorUI/ChangeLog 2019-04-01 21:50:02 UTC (rev 243715)
@@ -1,3 +1,26 @@
+2019-04-01 Devin Rousso <drou...@apple.com>
+
+ Web Inspector: Debugger: breakpoints don't populate in inspector2 on first load
+ https://bugs.webkit.org/show_bug.cgi?id=196063
+ <rdar://problem/49097787>
+
+ Reviewed by Joseph Pecoraro.
+
+ In the case that a breakpoint becomes resolved after the resource has finished loaded, there
+ won't be an already existing `TreeElement` for the breakpoint to replace.
+
+ This can realistically only happen if the IndexedDB lookup is super slow, or the resource is
+ extremely fast (e.g. a `data` url).
+
+ * UserInterface/Views/DebuggerSidebarPanel.js:
+ (WI.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
+ (WI.DebuggerSidebarPanel.prototype._addDebuggerObject): Deleted.
+
+ * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+ (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
+ (WI.SourcesNavigationSidebarPanel.prototype._addBreakpointsForSourceCode):
+ (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
+
2019-04-01 Joseph Pecoraro <pecor...@apple.com>
Web Inspector: CPU Usage Timeline - Adjust Energy Impact Threshholds
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js (243714 => 243715)
--- trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2019-04-01 21:27:01 UTC (rev 243714)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js 2019-04-01 21:50:02 UTC (rev 243715)
@@ -822,19 +822,26 @@
if (event.data.oldDisplaySourceCode === debuggerObject.sourceCodeLocation.displaySourceCode)
return;
- var debuggerTreeElement = this._breakpointsContentTreeOutline.getCachedTreeElement(debuggerObject);
- if (!debuggerTreeElement)
- return;
+ // A known debugger object (breakpoint, issueMessage, etc.) moved between resources. Remove
+ // the old tree element and create a new tree element with the updated file.
- // A known debugger object (breakpoint, issueMessage, etc.) moved between resources, remove the old tree element
- // and create a new tree element with the updated file.
+ let wasSelected = false;
+ let oldDebuggerTreeElement = this._breakpointsContentTreeOutline.getCachedTreeElement(debuggerObject);
+ if (oldDebuggerTreeElement)
+ wasSelected = oldDebuggerTreeElement.selected;
- var wasSelected = debuggerTreeElement.selected;
+ let newDebuggerTreeElement = null;
+ if (debuggerObject instanceof WI.Breakpoint)
+ newDebuggerTreeElement = this._addBreakpoint(debuggerObject);
+ else if (debuggerObject instanceof WI.IssueMessage)
+ newDebuggerTreeElement = this._addIssue(debuggerObject);
+ if (!newDebuggerTreeElement)
+ return;
- this._removeDebuggerTreeElement(debuggerTreeElement);
- var newDebuggerTreeElement = this._addDebuggerObject(debuggerObject);
+ if (oldDebuggerTreeElement)
+ this._removeDebuggerTreeElement(oldDebuggerTreeElement);
- if (newDebuggerTreeElement && wasSelected)
+ if (wasSelected)
newDebuggerTreeElement.revealAndSelect(true, false, true);
}
@@ -1369,17 +1376,6 @@
this._pauseReasonLinkContainerElement.appendChild(linkElement);
}
- _addDebuggerObject(debuggerObject)
- {
- if (debuggerObject instanceof WI.Breakpoint)
- return this._addBreakpoint(debuggerObject);
-
- if (debuggerObject instanceof WI.IssueMessage)
- return this._addIssue(debuggerObject);
-
- return null;
- }
-
_addIssue(issueMessage)
{
let issueTreeElement = this._scriptsContentTreeOutline.findTreeElement(issueMessage);
Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js (243714 => 243715)
--- trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-04-01 21:27:01 UTC (rev 243714)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js 2019-04-01 21:50:02 UTC (rev 243715)
@@ -863,6 +863,9 @@
_addBreakpoint(breakpoint)
{
+ if (this._breakpointsTreeOutline.findTreeElement(breakpoint))
+ return null;
+
let constructor = WI.BreakpointTreeElement;
let options = {};
let parentTreeElement = this._breakpointsTreeOutline;
@@ -875,7 +878,7 @@
let domNodeTreeElement = this._breakpointsTreeOutline.findTreeElement(domNode);
if (!domNodeTreeElement) {
domNodeTreeElement = new WI.DOMNodeTreeElement(domNode);
- this._insertDebuggerTreeElement(domNodeTreeElement, parentTreeElement);
+ this._insertDebuggerTreeElement(domNodeTreeElement, this._breakpointsTreeOutline);
}
return domNodeTreeElement;
};
@@ -910,7 +913,7 @@
if (!eventTargetTreeElement) {
const subtitle = null;
eventTargetTreeElement = new WI.GeneralTreeElement(["event-target-window"], WI.unlocalizedString("window"), subtitle, SourcesNavigationSidebarPanel.__windowEventTargetRepresentedObject);
- this._insertDebuggerTreeElement(eventTargetTreeElement, parentTreeElement);
+ this._insertDebuggerTreeElement(eventTargetTreeElement, this._breakpointsTreeOutline);
}
} else if (breakpoint.eventListener.node)
eventTargetTreeElement = getDOMNodeTreeElement(breakpoint.eventListener.node);
@@ -929,9 +932,6 @@
if (!sourceCode)
return null;
- if (this._breakpointsTreeOutline.findTreeElement(breakpoint))
- return null;
-
parentTreeElement = this._addDebuggerTreeElementForSourceCode(sourceCode);
// Mark disabled breakpoints as resolved if there is source code loaded with that URL.
@@ -1032,7 +1032,7 @@
_addBreakpointsForSourceCode(sourceCode)
{
for (let breakpoint of WI.debuggerManager.breakpointsForSourceCode(sourceCode))
- this._addBreakpoint(breakpoint, sourceCode);
+ this._addBreakpoint(breakpoint);
}
_addIssuesForSourceCode(sourceCode)
@@ -1761,22 +1761,25 @@
let newDebuggerTreeElement = null;
if (debuggerObject instanceof WI.Breakpoint) {
oldDebuggerTreeElement = this._breakpointsTreeOutline.findTreeElement(debuggerObject);
- if (oldDebuggerTreeElement) {
- newDebuggerTreeElement = this._addBreakpoint(debuggerObject);
+ if (oldDebuggerTreeElement)
wasSelected = oldDebuggerTreeElement.selected;
- }
+
+ newDebuggerTreeElement = this._addBreakpoint(debuggerObject);
} else if (debuggerObject instanceof WI.IssueMessage) {
oldDebuggerTreeElement = this._resourcesTreeOutline.findTreeElement(debuggerObject);
- if (oldDebuggerTreeElement) {
- newDebuggerTreeElement = this._addIssue(debuggerObject);
+ if (oldDebuggerTreeElement)
wasSelected = oldDebuggerTreeElement.selected;
- }
+
+ newDebuggerTreeElement = this._addIssue(debuggerObject);
}
+ if (!newDebuggerTreeElement)
+ return;
+
if (oldDebuggerTreeElement)
this._removeDebuggerTreeElement(oldDebuggerTreeElement);
- if (newDebuggerTreeElement && wasSelected)
+ if (wasSelected)
newDebuggerTreeElement.revealAndSelect(true, false, true);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes