Skip to content
  • joepeck@webkit.org's avatar
    Web Inspector: Breakpoints should have Automatically Continue Option · d8be1361
    joepeck@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=120187
    
    Reviewed by Timothy Hatcher.
    
    Source/WebCore:
    
    Tests: inspector-protocol/debugger/removeBreakpoint.html
           inspector-protocol/debugger/setBreakpoint-autoContinue.html
           inspector-protocol/debugger/setBreakpoint-column.html
           inspector-protocol/debugger/setBreakpoint-condition.html
           inspector-protocol/debugger/setBreakpoint.html
    
    * inspector/Inspector.json:
    Convert the "condition" argument of setBreakpoint and setBreakpointByUrl
    to a BreakpointOptions object with optional properties. One of which
    is "condition" and a new option "autoContinue".
    
    * bindings/js/ScriptDebugServer.h:
    * bindings/js/ScriptDebugServer.cpp:
    (WebCore::ScriptDebugServer::hasBreakpoint):
    (WebCore::ScriptDebugServer::pauseIfNeeded):
    Automatically continue if the breakpoint was hit and has autoContinue.
    
    * inspector/InspectorDebuggerAgent.h:
    * inspector/InspectorDebuggerAgent.cpp:
    (WebCore::buildObjectForBreakpointCookie):
    (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
    (WebCore::InspectorDebuggerAgent::setBreakpoint):
    (WebCore::InspectorDebuggerAgent::continueToLocation):
    (WebCore::InspectorDebuggerAgent::didParseSource):
    * inspector/ScriptBreakpoint.h:
    (WebCore::ScriptBreakpoint::ScriptBreakpoint):
    Handle the new incoming BreakpointOptions type, and set the
    autoContinue state on ScriptBreakpoints.
    
    * inspector/front-end/DebuggerModel.js:
    (WebInspector.DebuggerModel.prototype.setBreakpointByURL):
    (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
    Update old front-end to be compatible with the new API.
    
    Source/WebInspectorUI:
    
    * Localizations/en.lproj/localizedStrings.js:
    * UserInterface/Breakpoint.css:
    (#edit-breakpoint-popoover-auto-continue):
    Misc. changes for UI.
    
    * UserInterface/Breakpoint.js:
    (WebInspector.Breakpoint):
    (WebInspector.Breakpoint.prototype.get autoContinue):
    (WebInspector.Breakpoint.prototype.set autoContinue):
    (WebInspector.Breakpoint.prototype.get options):
    (WebInspector.Breakpoint.prototype.get info):
    General maintenance of the autoContinue state.
    
    (WebInspector.Breakpoint.prototype._popoverToggleEnabledCheckboxChanged):
    (WebInspector.Breakpoint.prototype._popoverToggleAutoContinueCheckboxChanged):
    (WebInspector.Breakpoint.prototype._editBreakpointPopoverContentElement):
    Edit Breakpoint UI for setting autoContinue state.
    
    * UserInterface/InspectorBackend.js:
    (InspectorBackendClass.prototype.registerCommand):
    (InspectorBackendClass.prototype._supports):
    Extension to check if a BackendCommands method supports a particular param.
    
    * UserInterface/DebuggerManager.js:
    (WebInspector.DebuggerManager):
    (WebInspector.DebuggerManager.prototype._setBreakpoint):
    * UserInterface/InspectorBackendCommands.js:
    Change to backend agent calls for the new protocol API.
    
    LayoutTests:
    
    * http/tests/inspector-protocol/resources/InspectorTest.js:
    (InspectorTest.checkForError):
    Helper for checking for, and logging, protocol error responses.
    
    * inspector/debugger/set-breakpoint.html:
    Update this test for the protocol change.
    
    * inspector-protocol/debugger/removeBreakpoint-expected.txt: Added.
    * inspector-protocol/debugger/removeBreakpoint.html: Added.
    * inspector-protocol/debugger/resources/breakpoint.js: Added.
    * inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt: Added.
    * inspector-protocol/debugger/setBreakpoint-autoContinue.html: Added.
    * inspector-protocol/debugger/setBreakpoint-column.html: Renamed from LayoutTests/inspector-protocol/debugger/column-breakpoint.html.
    * inspector-protocol/debugger/setBreakpoint-column.txt: Renamed from LayoutTests/inspector-protocol/debugger/column-breakpoint-expected.txt.
    * inspector-protocol/debugger/setBreakpoint-condition-expected.txt: Added.
    * inspector-protocol/debugger/setBreakpoint-condition.html: Added.
    * inspector-protocol/debugger/setBreakpoint-expected.txt: Added.
    * inspector-protocol/debugger/setBreakpoint.html: Added.
    Protocol tests for setting breakpoints. These test different aspects of
    the Debugger domain (setBreakpoint variants and removeBreakpoint).
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    d8be1361