Changeset 239246 in webkit


Ignore:
Timestamp:
Dec 14, 2018 7:34:54 PM (5 years ago)
Author:
Matt Baker
Message:

Web Inspector: REGRESSION(r238599): Uncaught Exception: TypeError: null is not an object (evaluating 'treeElement.listItemElement.classList')
https://bugs.webkit.org/show_bug.cgi?id=192090
<rdar://problem/46318614>

Reviewed by Devin Rousso.

  • UserInterface/Views/TreeOutline.js:

(WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
Check that listItemElement is valid before accessing it to update class
names. The selection can change before the TreeElement has been attached.

Location:
trunk/Source/WebInspectorUI
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r239226 r239246  
     12018-12-14  Matt Baker  <mattbaker@apple.com>
     2
     3        Web Inspector: REGRESSION(r238599): Uncaught Exception: TypeError: null is not an object (evaluating 'treeElement.listItemElement.classList')
     4        https://bugs.webkit.org/show_bug.cgi?id=192090
     5        <rdar://problem/46318614>
     6
     7        Reviewed by Devin Rousso.
     8
     9        * UserInterface/Views/TreeOutline.js:
     10        (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
     11        Check that `listItemElement` is valid before accessing it to update class
     12        names. The selection can change before the TreeElement has been attached.
     13
    1142018-12-14  Matt Baker  <mattbaker@apple.com>
    215
  • trunk/Source/WebInspectorUI/UserInterface/Views/TreeOutline.js

    r239175 r239246  
    804804            console.assert(treeElement, "Missing TreeElement for deselected index " + index);
    805805            if (treeElement) {
    806                 treeElement.listItemElement.classList.remove("selected");
     806                if (treeElement.listItemElement)
     807                    treeElement.listItemElement.classList.remove("selected");
    807808                if (!this._suppressNextSelectionDidChangeEvent)
    808809                    treeElement.deselect();
     
    814815            console.assert(treeElement, "Missing TreeElement for selected index " + index);
    815816            if (treeElement) {
    816                 treeElement.listItemElement.classList.add("selected");
     817                if (treeElement.listItemElement)
     818                    treeElement.listItemElement.classList.add("selected");
    817819                if (!this._suppressNextSelectionDidChangeEvent)
    818820                    treeElement.select();
     
    822824        let selectedTreeElement = this.selectedTreeElement;
    823825        if (selectedTreeElement !== this._previousSelectedTreeElement) {
    824             if (this._previousSelectedTreeElement)
     826            if (this._previousSelectedTreeElement && this._previousSelectedTreeElement.listItemElement)
    825827                this._previousSelectedTreeElement.listItemElement.classList.remove("last-selected");
    826828
    827829            this._previousSelectedTreeElement = selectedTreeElement;
    828830
    829             if (this._previousSelectedTreeElement)
     831            if (this._previousSelectedTreeElement && this._previousSelectedTreeElement.listItemElement)
    830832                this._previousSelectedTreeElement.listItemElement.classList.add("last-selected");
    831833        }
Note: See TracChangeset for help on using the changeset viewer.