Title: [119583] trunk
Revision
119583
Author
[email protected]
Date
2012-06-06 04:27:56 -0700 (Wed, 06 Jun 2012)

Log Message

Web Inspector: Option for selecting/deselecting all breakpoints in breakpoint pane
https://bugs.webkit.org/show_bug.cgi?id=87644

Patch by Sam D <[email protected]> on 2012-06-06
Reviewed by Pavel Feldman.

Added an option to enable/disable all breakpoints in Breakpoint pane.

* Source/WebCore/English.lproj/localizedStrings.js:
* Source/WebCore/inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager.prototype.enableAllBreakpoints):
(WebInspector.BreakpointManager.prototype.disableAllBreakpoints):
* Source/WebCore/inspector/front-end/BreakpointsSidebarPane.js:
(WebInspector._javascript_BreakpointsSidebarPane.prototype._breakpointContextMenu.enabledBreakpointCount):
(WebInspector._javascript_BreakpointsSidebarPane.prototype._breakpointContextMenu):

Modified Paths

Diff

Modified: trunk/ChangeLog (119582 => 119583)


--- trunk/ChangeLog	2012-06-06 11:21:43 UTC (rev 119582)
+++ trunk/ChangeLog	2012-06-06 11:27:56 UTC (rev 119583)
@@ -1,3 +1,20 @@
+2012-06-06  Sam D  <[email protected]>
+
+        Web Inspector: Option for selecting/deselecting all breakpoints in breakpoint pane
+        https://bugs.webkit.org/show_bug.cgi?id=87644
+
+        Reviewed by Pavel Feldman.
+
+        Added an option to enable/disable all breakpoints in Breakpoint pane.
+
+        * Source/WebCore/English.lproj/localizedStrings.js:
+        * Source/WebCore/inspector/front-end/BreakpointManager.js:
+        (WebInspector.BreakpointManager.prototype.enableAllBreakpoints):
+        (WebInspector.BreakpointManager.prototype.disableAllBreakpoints):
+        * Source/WebCore/inspector/front-end/BreakpointsSidebarPane.js:
+        (WebInspector._javascript_BreakpointsSidebarPane.prototype._breakpointContextMenu.enabledBreakpointCount):
+        (WebInspector._javascript_BreakpointsSidebarPane.prototype._breakpointContextMenu):
+
 2012-06-05  Danilo Cesar Lemes de Paula  <[email protected]>
 
         [GTK] show the feature list in alphabetical order

Modified: trunk/Source/WebCore/English.lproj/localizedStrings.js


(Binary files differ)

Modified: trunk/Source/WebCore/inspector/front-end/BreakpointManager.js (119582 => 119583)


--- trunk/Source/WebCore/inspector/front-end/BreakpointManager.js	2012-06-06 11:21:43 UTC (rev 119582)
+++ trunk/Source/WebCore/inspector/front-end/BreakpointManager.js	2012-06-06 11:27:56 UTC (rev 119583)
@@ -138,6 +138,18 @@
         return result;
     },
 
+    /**
+     * @param {boolean} toggleState
+     */
+    toggleAllBreakpoints: function(toggleState)
+    {
+        for (var i = 0; i < this._breakpoints.length; ++i) {
+            var breakpoint = this._breakpoints[i];
+            if (breakpoint.enabled() != toggleState)
+                breakpoint.setEnabled(toggleState);
+        }
+    },
+
     removeAllBreakpoints: function()
     {
         var breakpoints = this._breakpoints.slice();

Modified: trunk/Source/WebCore/inspector/front-end/BreakpointsSidebarPane.js (119582 => 119583)


--- trunk/Source/WebCore/inspector/front-end/BreakpointsSidebarPane.js	2012-06-06 11:21:43 UTC (rev 119582)
+++ trunk/Source/WebCore/inspector/front-end/BreakpointsSidebarPane.js	2012-06-06 11:27:56 UTC (rev 119583)
@@ -168,12 +168,34 @@
     {
         var contextMenu = new WebInspector.ContextMenu();
         contextMenu.appendItem(WebInspector.UIString("Remove Breakpoint"), breakpoint.remove.bind(breakpoint));
-        var removeAllTitle = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Remove all _javascript_ breakpoints" : "Remove All _javascript_ Breakpoints");
+        var removeAllTitle = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Remove all breakpoints" : "Remove All Breakpoints");
         contextMenu.appendItem(removeAllTitle, this._breakpointManager.removeAllBreakpoints.bind(this._breakpointManager));
         
         var breakpointActive = WebInspector.debuggerModel.breakpointsActive();
         var breakpointActiveTitle = WebInspector.UIString(breakpointActive ? "Deactivate All Breakpoints" : "Activate All Breakpoints");
         contextMenu.appendItem(breakpointActiveTitle, WebInspector.debuggerModel.setBreakpointsActive.bind(WebInspector.debuggerModel, !breakpointActive));
+
+        function enabledBreakpointCount(breakpoints)
+        {
+            var count = 0;
+            for (var i = 0; i < breakpoints.length; ++i) {
+                if (breakpoints[i].checkbox.checked)
+                    count++;
+            }
+            return count;
+        }
+        var breakpoints = this._items.values();
+        if (breakpoints.length > 1) {
+            var enableBreakpointCount = enabledBreakpointCount(breakpoints);
+            var enableTitle = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Enable all breakpoints" : "Enable All Breakpoints");
+            var disableTitle = WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Disable all breakpoints" : "Disable All Breakpoints");
+
+            contextMenu.appendSeparator();
+
+            contextMenu.appendItem(enableTitle, this._breakpointManager.toggleAllBreakpoints.bind(this._breakpointManager, true), !(enableBreakpointCount != breakpoints.length));
+            contextMenu.appendItem(disableTitle, this._breakpointManager.toggleAllBreakpoints.bind(this._breakpointManager, false), !(enableBreakpointCount > 1));
+        }
+
         contextMenu.show(event);
     },
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to