Changeset 249800 in webkit


Ignore:
Timestamp:
Sep 12, 2019 12:50:18 AM (5 years ago)
Author:
Joseph Pecoraro
Message:

Uncaught Exception: TypeError: null is not an object (evaluating 'selectedTreeElement.representedObject')
https://bugs.webkit.org/show_bug.cgi?id=201716
<rdar://problem/55292615>

Reviewed by Devin Rousso.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WI.DebuggerSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
If a breakpoint was removed without a selection in the breakpoint tree outline
then there may be no selected tree element.

Location:
trunk/Source/WebInspectorUI
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r249799 r249800  
     12019-09-12  Joseph Pecoraro  <pecoraro@apple.com>
     2
     3        Uncaught Exception: TypeError: null is not an object (evaluating 'selectedTreeElement.representedObject')
     4        https://bugs.webkit.org/show_bug.cgi?id=201716
     5        <rdar://problem/55292615>
     6
     7        Reviewed by Devin Rousso.
     8
     9        * UserInterface/Views/DebuggerSidebarPanel.js:
     10        (WI.DebuggerSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
     11        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
     12        (WI.SourcesNavigationSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
     13        If a breakpoint was removed without a selection in the breakpoint tree outline
     14        then there may be no selected tree element.
     15
    1162019-09-11  Joseph Pecoraro  <pecoraro@apple.com>
    217
  • trunk/Source/WebInspectorUI/UserInterface/Views/DebuggerSidebarPanel.js

    r249504 r249800  
    15961596        if (event.type === WI.TreeOutline.Event.ElementRemoved) {
    15971597            let selectedTreeElement = this._breakpointsContentTreeOutline.selectedTreeElement;
    1598             console.assert(selectedTreeElement);
    1599             if (selectedTreeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint || !WI.debuggerManager.isBreakpointRemovable(selectedTreeElement.representedObject)) {
    1600                 const skipUnrevealed = true;
    1601                 const dontPopulate = true;
    1602                 let treeElementToSelect = selectedTreeElement.traverseNextTreeElement(skipUnrevealed, dontPopulate);
    1603                 if (treeElementToSelect) {
    1604                     const omitFocus = true;
    1605                     const selectedByUser = true;
    1606                     treeElementToSelect.select(omitFocus, selectedByUser);
    1607                 }
     1598            if (selectedTreeElement) {
     1599                if (selectedTreeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint || !WI.debuggerManager.isBreakpointRemovable(selectedTreeElement.representedObject)) {
     1600                    const skipUnrevealed = true;
     1601                    const dontPopulate = true;
     1602                    let treeElementToSelect = selectedTreeElement.traverseNextTreeElement(skipUnrevealed, dontPopulate);
     1603                    if (treeElementToSelect) {
     1604                        const omitFocus = true;
     1605                        const selectedByUser = true;
     1606                        treeElementToSelect.select(omitFocus, selectedByUser);
     1607                    }
     1608                }               
    16081609            }
    16091610        }
  • trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js

    r249504 r249800  
    17601760        if (event.type === WI.TreeOutline.Event.ElementRemoved) {
    17611761            let selectedTreeElement = this._breakpointsTreeOutline.selectedTreeElement;
    1762             console.assert(selectedTreeElement);
    1763             if (selectedTreeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint || !WI.debuggerManager.isBreakpointRemovable(selectedTreeElement.representedObject)) {
    1764                 const skipUnrevealed = true;
    1765                 const dontPopulate = true;
    1766                 let treeElementToSelect = selectedTreeElement.traverseNextTreeElement(skipUnrevealed, dontPopulate);
    1767                 if (treeElementToSelect) {
    1768                     const omitFocus = true;
    1769                     const selectedByUser = true;
    1770                     treeElementToSelect.select(omitFocus, selectedByUser);
     1762            if (selectedTreeElement) {
     1763                if (selectedTreeElement.representedObject === WI.debuggerManager.assertionFailuresBreakpoint || !WI.debuggerManager.isBreakpointRemovable(selectedTreeElement.representedObject)) {
     1764                    const skipUnrevealed = true;
     1765                    const dontPopulate = true;
     1766                    let treeElementToSelect = selectedTreeElement.traverseNextTreeElement(skipUnrevealed, dontPopulate);
     1767                    if (treeElementToSelect) {
     1768                        const omitFocus = true;
     1769                        const selectedByUser = true;
     1770                        treeElementToSelect.select(omitFocus, selectedByUser);
     1771                    }
    17711772                }
    17721773            }
Note: See TracChangeset for help on using the changeset viewer.