Title: [252447] trunk/Source/WebInspectorUI
Revision
252447
Author
[email protected]
Date
2019-11-13 19:36:53 -0800 (Wed, 13 Nov 2019)

Log 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.

Modified Paths

Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (252446 => 252447)


--- trunk/Source/WebInspectorUI/ChangeLog	2019-11-14 03:07:35 UTC (rev 252446)
+++ trunk/Source/WebInspectorUI/ChangeLog	2019-11-14 03:36:53 UTC (rev 252447)
@@ -1,3 +1,23 @@
+2019-11-13  Devin Rousso  <[email protected]>
+
+        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.
+
 2019-11-12  Devin Rousso  <[email protected]>
 
         Web Inspector: Local Overrides: drop zone overlay doesn't take up the full content area

Modified: trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js (252446 => 252447)


--- trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js	2019-11-14 03:07:35 UTC (rev 252446)
+++ trunk/Source/WebInspectorUI/UserInterface/Controllers/DOMDebuggerManager.js	2019-11-14 03:36:53 UTC (rev 252447)
@@ -378,11 +378,11 @@
     {
         console.assert(breakpoint instanceof WI.EventBreakpoint, breakpoint);
         if (!breakpoint)
-            return;
+            return false;
 
         if (this.isBreakpointSpecial(breakpoint)) {
             this.dispatchEventToListeners(WI.DOMDebuggerManager.Event.EventBreakpointAdded, {breakpoint});
-            return;
+            return true;
         }
 
         console.assert(breakpoint.type === WI.EventBreakpoint.Type.Listener, breakpoint);
@@ -389,7 +389,7 @@
         console.assert(breakpoint.eventName, breakpoint);
 
         if (this._listenerBreakpoints.find((existing) => existing.eventName === breakpoint.eventName))
-            return;
+            return false;
 
         this._listenerBreakpoints.push(breakpoint);
 
@@ -402,6 +402,8 @@
 
         if (!this._restoringBreakpoints)
             WI.objectStores.eventBreakpoints.putObject(breakpoint);
+
+        return true;
     }
 
     removeEventBreakpoint(breakpoint)
@@ -453,19 +455,19 @@
     {
         console.assert(breakpoint instanceof WI.URLBreakpoint);
         if (!breakpoint)
-            return;
+            return false;
 
         if (this.isBreakpointSpecial(breakpoint)) {
             this.dispatchEventToListeners(WI.DOMDebuggerManager.Event.URLBreakpointAdded, {breakpoint});
-            return;
+            return true;
         }
 
         console.assert(!this._urlBreakpoints.includes(breakpoint), "Already added URL breakpoint.", breakpoint);
         if (this._urlBreakpoints.includes(breakpoint))
-            return;
+            return false;
 
         if (this._urlBreakpoints.some((entry) => entry.type === breakpoint.type && entry.url ="" breakpoint.url))
-            return;
+            return false;
 
         this._urlBreakpoints.push(breakpoint);
 
@@ -478,6 +480,8 @@
 
         if (!this._restoringBreakpoints)
             WI.objectStores.urlBreakpoints.putObject(breakpoint);
+
+        return true;
     }
 
     removeURLBreakpoint(breakpoint)

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js (252446 => 252447)


--- trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js	2019-11-14 03:07:35 UTC (rev 252446)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/EventBreakpointPopover.js	2019-11-14 03:36:53 UTC (rev 252447)
@@ -105,11 +105,13 @@
 
     dismiss()
     {
-        this._breakpoint = new WI.EventBreakpoint(WI.EventBreakpoint.Type.Listener, {eventName: this._domEventNameInputElement.value});
+        let eventName = this._domEventNameInputElement.value;
+        if (eventName)
+            this._breakpoint = new WI.EventBreakpoint(WI.EventBreakpoint.Type.Listener, {eventName});
 
+        this._suggestionsView.hide();
+
         super.dismiss();
-
-        this._suggestionsView.hide();
     }
 
     // CompletionSuggestionsView delegate

Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js (252446 => 252447)


--- trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js	2019-11-14 03:07:35 UTC (rev 252446)
+++ trunk/Source/WebInspectorUI/UserInterface/Views/SourcesNavigationSidebarPanel.js	2019-11-14 03:36:53 UTC (rev 252447)
@@ -691,19 +691,25 @@
     _willDismissEventBreakpointPopover(popover)
     {
         let breakpoint = popover.breakpoint;
-        if (!breakpoint)
+        if (!breakpoint) {
+            InspectorFrontendHost.beep();
             return;
+        }
 
-        WI.domDebuggerManager.addEventBreakpoint(breakpoint);
+        if (!WI.domDebuggerManager.addEventBreakpoint(breakpoint))
+            InspectorFrontendHost.beep();
     }
 
     _willDismissURLBreakpointPopover(popover)
     {
         let breakpoint = popover.breakpoint;
-        if (!breakpoint)
+        if (!breakpoint) {
+            InspectorFrontendHost.beep();
             return;
+        }
 
-        WI.domDebuggerManager.addURLBreakpoint(breakpoint);
+        if (!WI.domDebuggerManager.addURLBreakpoint(breakpoint))
+            InspectorFrontendHost.beep();
     }
 
     _filterByResourcesWithIssues(treeElement)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to