Changeset 74191 in webkit


Ignore:
Timestamp:
Dec 16, 2010 7:57:47 AM (13 years ago)
Author:
podivilov@chromium.org
Message:

2010-12-16 Pavel Podivilov <podivilov@chromium.org>

Reviewed by Yury Semikhatsky.

Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
https://bugs.webkit.org/show_bug.cgi?id=51174

  • inspector/front-end/BreakpointManager.js: (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): (WebInspector.BreakpointManager.prototype._debuggerPaused): (WebInspector.BreakpointManager.prototype._debuggerResumed):
  • inspector/front-end/CallStackSidebarPane.js: (WebInspector.CallStackSidebarPane): (WebInspector.CallStackSidebarPane.prototype.update): (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
  • inspector/front-end/DebuggerModel.js: (WebInspector.DebuggerModel.prototype.pausedScript):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._debuggerPaused):
Location:
trunk/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r74188 r74191  
     12010-12-16  Pavel Podivilov  <podivilov@chromium.org>
     2
     3        Reviewed by Yury Semikhatsky.
     4
     5        Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
     6        https://bugs.webkit.org/show_bug.cgi?id=51174
     7
     8        * inspector/front-end/BreakpointManager.js:
     9        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
     10        (WebInspector.BreakpointManager.prototype._debuggerPaused):
     11        (WebInspector.BreakpointManager.prototype._debuggerResumed):
     12        * inspector/front-end/CallStackSidebarPane.js:
     13        (WebInspector.CallStackSidebarPane):
     14        (WebInspector.CallStackSidebarPane.prototype.update):
     15        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
     16        * inspector/front-end/DebuggerModel.js:
     17        (WebInspector.DebuggerModel.prototype.pausedScript):
     18        * inspector/front-end/ScriptsPanel.js:
     19        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
     20
    1212010-12-16  Hans Wennborg  <hans@chromium.org>
    222
  • trunk/WebCore/inspector/front-end/BreakpointManager.js

    r74119 r74191  
    5555    EventListenerBreakpointAdded: "event-listener-breakpoint-added",
    5656    XHRBreakpointAdded: "xhr-breakpoint-added",
    57     NativeBreakpointHit: "native-breakpoint-hit",
    5857    ProjectChanged: "project-changed"
    5958}
     
    153152    },
    154153
    155     _debuggerPaused: function(event)
    156     {
    157         var eventType = event.data.eventType;
    158         var eventData = event.data.eventData;
    159 
    160         if (eventType !== WebInspector.DebuggerEventTypes.NativeBreakpoint)
    161             return;
    162 
     154    breakpointViewForEventData: function(eventData)
     155    {
    163156        var breakpointId;
    164157        if (eventData.breakpointType === WebInspector.BreakpointManager.NativeBreakpointTypes.DOM)
     
    168161        else if (eventData.breakpointType === WebInspector.BreakpointManager.NativeBreakpointTypes.XHR)
    169162            breakpointId = this._createXHRBreakpointId(eventData.breakpointURL);
    170 
    171163        var breakpoint = this._nativeBreakpoints[breakpointId];
    172         if (!breakpoint)
    173             return;
    174 
    175         breakpoint.view.hit = true;
    176         this._lastHitBreakpoint = breakpoint;
    177         this.dispatchEventToListeners(WebInspector.BreakpointManager.Events.NativeBreakpointHit, { breakpoint: breakpoint.view, eventData: eventData });
     164        if (breakpoint)
     165            return breakpoint.view;
     166    },
     167
     168    _debuggerPaused: function(event)
     169    {
     170        var eventType = event.data.eventType;
     171        var eventData = event.data.eventData;
     172
     173        if (eventType !== WebInspector.DebuggerEventTypes.NativeBreakpoint)
     174            return;
     175
     176        var breakpointView = this.breakpointViewForEventData(eventData);
     177        if (!breakpointView)
     178            return;
     179
     180        breakpointView.hit = true;
     181        this._lastHitBreakpointView = breakpointView;
    178182    },
    179183
    180184    _debuggerResumed: function(event)
    181185    {
    182         if (!this._lastHitBreakpoint)
    183             return;
    184         this._lastHitBreakpoint.view.hit = false;
    185         delete this._lastHitBreakpoint;
     186        if (!this._lastHitBreakpointView)
     187            return;
     188        this._lastHitBreakpointView.hit = false;
     189        delete this._lastHitBreakpointView;
    186190    },
    187191
  • trunk/WebCore/inspector/front-end/CallStackSidebarPane.js

    r74119 r74191  
    2727{
    2828    WebInspector.SidebarPane.call(this, WebInspector.UIString("Call Stack"));
    29     WebInspector.breakpointManager.addEventListener(WebInspector.BreakpointManager.Events.NativeBreakpointHit, this._nativeBreakpointHit, this);
    30     WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.BreakpointHit, this._scriptBreakpointHit, this);
    3129}
    3230
    3331WebInspector.CallStackSidebarPane.prototype = {
    34     update: function(callFrames)
     32    update: function(callFrames, eventType, eventData)
    3533    {
    3634        this.bodyElement.removeChildren();
     
    8381            this.bodyElement.appendChild(placard.element);
    8482        }
     83
     84        if (eventType === WebInspector.DebuggerEventTypes.JavaScriptPause)
     85            return;
     86
     87        var statusMessageElement = document.createElement("div");
     88        statusMessageElement.className = "info";
     89        if (eventType === WebInspector.DebuggerEventTypes.NativeBreakpoint) {
     90            var breakpoint = WebInspector.breakpointManager.breakpointViewForEventData(eventData);
     91            if (breakpoint)
     92                breakpoint.populateStatusMessageElement(statusMessageElement, eventData);
     93        } else
     94            statusMessageElement.appendChild(document.createTextNode(WebInspector.UIString("Paused on a JavaScript breakpoint.")));
     95        this.bodyElement.appendChild(statusMessageElement);
    8596    },
    8697
     
    170181
    171182        section.addRelatedKeys([ nextCallFrame.name, prevCallFrame.name ], WebInspector.UIString("Next/previous call frame"));
    172     },
    173 
    174     _nativeBreakpointHit:  function(event)
    175     {
    176         var breakpoint = event.data.breakpoint;
    177         var statusMessageElement = document.createElement("div");
    178         statusMessageElement.className = "info";
    179         breakpoint.populateStatusMessageElement(statusMessageElement, event.data.eventData);
    180         this.bodyElement.appendChild(statusMessageElement);
    181     },
    182 
    183     _scriptBreakpointHit:  function(event)
    184     {
    185         var statusMessageElement = document.createElement("div");
    186         statusMessageElement.className = "info";
    187         statusMessageElement.appendChild(document.createTextNode(WebInspector.UIString("Paused on a JavaScript breakpoint.")));
    188         this.bodyElement.appendChild(statusMessageElement);
    189183    }
    190184}
  • trunk/WebCore/inspector/front-end/DebuggerModel.js

    r74119 r74191  
    4343    FailedToParseScriptSource: "failed-to-parse-script-source",
    4444    BreakpointAdded: "breakpoint-added",
    45     BreakpointHit: "breakpoint-hit"
    4645}
    4746
     
    172171            return;
    173172
    174         var breakpointId = WebInspector.Breakpoint.jsBreakpointId(details.callFrames[0].sourceID, details.callFrames[0].line);
    175         var breakpoint = this._breakpoints[breakpointId];
     173        var breakpoint = this.findBreakpoint(details.callFrames[0].sourceID, details.callFrames[0].line);
    176174        if (!breakpoint)
    177175            return;
    178176        breakpoint.hit = true;
    179177        this._lastHitBreakpoint = breakpoint;
    180         this.dispatchEventToListeners(WebInspector.DebuggerModel.Events.BreakpointHit, breakpoint);
    181178    },
    182179
  • trunk/WebCore/inspector/front-end/ScriptsPanel.js

    r74119 r74191  
    379379        WebInspector.currentPanel = this;
    380380
    381         this.sidebarPanes.callstack.update(callFrames);
     381        this.sidebarPanes.callstack.update(callFrames, event.data.eventType, event.data.eventData);
    382382        this.sidebarPanes.callstack.selectedCallFrame = callFrames[0];
    383383
Note: See TracChangeset for help on using the changeset viewer.