⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 252447 in webkit


Ignore:
Timestamp:
Nov 13, 2019, 7:36:53 PM (7 years ago)
Author:
Devin Rousso
Message:

Web Inspector: Uncaught Exception: Invalid type of argument 'eventName' for command 'DOMDebugger.setEventBreakpoint' call. It must be 'string' but it is 'object'.
https://bugs.webkit.org/show_bug.cgi?id=204176

Reviewed by Timothy Hatcher.

  • UserInterface/Views/EventBreakpointPopover.js:

(WI.EventBreakpointPopover.prototype.dismiss):
Only create the WI.EventBreakpoint if the <input> has a value.

  • UserInterface/Controllers/DOMDebuggerManager.js:

(WI.DOMDebuggerManager.prototype.addEventBreakpoint):
(WI.DOMDebuggerManager.prototype.addURLBreakpoint):

  • UserInterface/Views/SourcesNavigationSidebarPanel.js:

(WI.SourcesNavigationSidebarPanel.prototype._willDismissEventBreakpointPopover):
(WI.SourcesNavigationSidebarPanel.prototype._willDismissURLBreakpointPopover):
Drive-by: if the configuration isn't valid (e.g. no breakpoint) or the breakpoint already

exists, beep.

Location:
trunk/Source/WebInspectorUI
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebInspectorUI/ChangeLog

    r252379 r252447  
     12019-11-13  Devin Rousso  <drousso@apple.com>
     2
     3        Web Inspector: Uncaught Exception: Invalid type of argument 'eventName' for command 'DOMDebugger.setEventBreakpoint' call. It must be 'string' but it is 'object'.
     4        https://bugs.webkit.org/show_bug.cgi?id=204176
     5
     6        Reviewed by Timothy Hatcher.
     7
     8        * UserInterface/Views/EventBreakpointPopover.js:
     9        (WI.EventBreakpointPopover.prototype.dismiss):
     10        Only create the `WI.EventBreakpoint` if the <input> has a value.
     11
     12        * UserInterface/Controllers/DOMDebuggerManager.js:
     13        (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
     14        (WI.DOMDebuggerManager.prototype.addURLBreakpoint):
     15        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
     16        (WI.SourcesNavigationSidebarPanel.prototype._willDismissEventBreakpointPopover):
     17        (WI.SourcesNavigationSidebarPanel.prototype._willDismissURLBreakpointPopover):
     18        Drive-by: if the configuration isn't valid (e.g. no breakpoint) or the breakpoint already
     19                  exists, beep.
     20
    1212019-11-12  Devin Rousso  <drousso@apple.com>
    222
  • trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js

    r251227 r252447  
    379379        console.assert(breakpoint instanceof WI.EventBreakpoint, breakpoint);
    380380        if (!breakpoint)
    381             return;
     381            return false;
    382382
    383383        if (this.isBreakpointSpecial(breakpoint)) {
    384384            this.dispatchEventToListeners(WI.DOMDebuggerManager.Event.EventBreakpointAdded, {breakpoint});
    385             return;
     385            return true;
    386386        }
    387387
     
    390390
    391391        if (this._listenerBreakpoints.find((existing) => existing.eventName === breakpoint.eventName))
    392             return;
     392            return false;
    393393
    394394        this._listenerBreakpoints.push(breakpoint);
     
    403403        if (!this._restoringBreakpoints)
    404404            WI.objectStores.eventBreakpoints.putObject(breakpoint);
     405
     406        return true;
    405407    }
    406408
     
    454456        console.assert(breakpoint instanceof WI.URLBreakpoint);
    455457        if (!breakpoint)
    456             return;
     458            return false;
    457459
    458460        if (this.isBreakpointSpecial(breakpoint)) {
    459461            this.dispatchEventToListeners(WI.DOMDebuggerManager.Event.URLBreakpointAdded, {breakpoint});
    460             return;
     462            return true;
    461463        }
    462464
    463465        console.assert(!this._urlBreakpoints.includes(breakpoint), "Already added URL breakpoint.", breakpoint);
    464466        if (this._urlBreakpoints.includes(breakpoint))
    465             return;
     467            return false;
    466468
    467469        if (this._urlBreakpoints.some((entry) => entry.type === breakpoint.type && entry.url === breakpoint.url))
    468             return;
     470            return false;
    469471
    470472        this._urlBreakpoints.push(breakpoint);
     
    479481        if (!this._restoringBreakpoints)
    480482            WI.objectStores.urlBreakpoints.putObject(breakpoint);
     483
     484        return true;
    481485    }
    482486
  • trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js

    r248201 r252447  
    106106    dismiss()
    107107    {
    108         this._breakpoint = new WI.EventBreakpoint(WI.EventBreakpoint.Type.Listener, {eventName: this._domEventNameInputElement.value});
     108        let eventName = this._domEventNameInputElement.value;
     109        if (eventName)
     110            this._breakpoint = new WI.EventBreakpoint(WI.EventBreakpoint.Type.Listener, {eventName});
     111
     112        this._suggestionsView.hide();
    109113
    110114        super.dismiss();
    111 
    112         this._suggestionsView.hide();
    113115    }
    114116
  • trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js

    r251871 r252447  
    692692    {
    693693        let breakpoint = popover.breakpoint;
    694         if (!breakpoint)
    695             return;
    696 
    697         WI.domDebuggerManager.addEventBreakpoint(breakpoint);
     694        if (!breakpoint) {
     695            InspectorFrontendHost.beep();
     696            return;
     697        }
     698
     699        if (!WI.domDebuggerManager.addEventBreakpoint(breakpoint))
     700            InspectorFrontendHost.beep();
    698701    }
    699702
     
    701704    {
    702705        let breakpoint = popover.breakpoint;
    703         if (!breakpoint)
    704             return;
    705 
    706         WI.domDebuggerManager.addURLBreakpoint(breakpoint);
     706        if (!breakpoint) {
     707            InspectorFrontendHost.beep();
     708            return;
     709        }
     710
     711        if (!WI.domDebuggerManager.addURLBreakpoint(breakpoint))
     712            InspectorFrontendHost.beep();
    707713    }
    708714
Note: See TracChangeset for help on using the changeset viewer.