| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 2  * Copyright (C) 2011 Google Inc. All rights reserved. | 
| 3  * | 3  * | 
| 4  * Redistribution and use in source and binary forms, with or without | 4  * Redistribution and use in source and binary forms, with or without | 
| 5  * modification, are permitted provided that the following conditions are | 5  * modification, are permitted provided that the following conditions are | 
| 6  * met: | 6  * met: | 
| 7  * | 7  * | 
| 8  *     * Redistributions of source code must retain the above copyright | 8  *     * Redistributions of source code must retain the above copyright | 
| 9  * notice, this list of conditions and the following disclaimer. | 9  * notice, this list of conditions and the following disclaimer. | 
| 10  *     * Redistributions in binary form must reproduce the above | 10  *     * Redistributions in binary form must reproduce the above | 
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 61     ConsoleMessagesCleared: "console-messages-cleared", | 61     ConsoleMessagesCleared: "console-messages-cleared", | 
| 62     BreakpointAdded: "breakpoint-added", | 62     BreakpointAdded: "breakpoint-added", | 
| 63     BreakpointRemoved: "breakpoint-removed", | 63     BreakpointRemoved: "breakpoint-removed", | 
| 64     DebuggerPaused: "debugger-paused", | 64     DebuggerPaused: "debugger-paused", | 
| 65     DebuggerResumed: "debugger-resumed", | 65     DebuggerResumed: "debugger-resumed", | 
| 66     CallFrameSelected: "call-frame-selected", | 66     CallFrameSelected: "call-frame-selected", | 
| 67     ExecutionLineChanged: "execution-line-changed" | 67     ExecutionLineChanged: "execution-line-changed" | 
| 68 } | 68 } | 
| 69 | 69 | 
| 70 WebInspector.DebuggerPresentationModel.prototype = { | 70 WebInspector.DebuggerPresentationModel.prototype = { | 
| 71     createLinkifier: function() | 71     /** | 
|  | 72      * @param {WebInspector.DebuggerPresentationModel.LinkifierFormatter=} forma
     tter | 
|  | 73      */ | 
|  | 74     createLinkifier: function(formatter) | 
| 72     { | 75     { | 
| 73         return new WebInspector.DebuggerPresentationModel.Linkifier(this); | 76         return new WebInspector.DebuggerPresentationModel.Linkifier(this, format
     ter); | 
| 74     }, | 77     }, | 
| 75 | 78 | 
| 76     /** | 79     /** | 
| 77      * @param {WebInspector.PresentationCallFrame} callFrame | 80      * @param {WebInspector.PresentationCallFrame} callFrame | 
| 78      * @return {WebInspector.Placard} | 81      * @return {WebInspector.Placard} | 
| 79      */ | 82      */ | 
| 80     createPlacard: function(callFrame) | 83     createPlacard: function(callFrame) | 
| 81     { | 84     { | 
| 82         var title = callFrame._callFrame.functionName || WebInspector.UIString("
     (anonymous function)"); | 85         var title = callFrame._callFrame.functionName || WebInspector.UIString("
     (anonymous function)"); | 
| 83         var placard = new WebInspector.Placard(title, ""); | 86         var placard = new WebInspector.Placard(title, ""); | 
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 355         this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Eve
     nts.ConsoleMessagesCleared); | 358         this.dispatchEventToListeners(WebInspector.DebuggerPresentationModel.Eve
     nts.ConsoleMessagesCleared); | 
| 356     }, | 359     }, | 
| 357 | 360 | 
| 358     /** | 361     /** | 
| 359      * @param {WebInspector.UISourceCode} uiSourceCode | 362      * @param {WebInspector.UISourceCode} uiSourceCode | 
| 360      * @param {number} lineNumber | 363      * @param {number} lineNumber | 
| 361      */ | 364      */ | 
| 362     continueToLine: function(uiSourceCode, lineNumber) | 365     continueToLine: function(uiSourceCode, lineNumber) | 
| 363     { | 366     { | 
| 364         // FIXME: use RawSourceCode.uiLocationToRawLocation. | 367         // FIXME: use RawSourceCode.uiLocationToRawLocation. | 
| 365         var rawLocation = uiSourceCode.rawSourceCode.sourceMapping.uiLocationToR
     awLocation(uiSourceCode, lineNumber); | 368         var rawLocation = uiSourceCode.rawSourceCode.sourceMapping.uiLocationToR
     awLocation(uiSourceCode, lineNumber, 0); | 
| 366         WebInspector.debuggerModel.continueToLocation(rawLocation); | 369         WebInspector.debuggerModel.continueToLocation(rawLocation); | 
| 367     }, | 370     }, | 
| 368 | 371 | 
| 369     /** | 372     /** | 
| 370      * @param {WebInspector.UISourceCode} uiSourceCode | 373      * @param {WebInspector.UISourceCode} uiSourceCode | 
| 371      * @return {Array.<WebInspector.Breakpoint>} | 374      * @return {Array.<WebInspector.Breakpoint>} | 
| 372      */ | 375      */ | 
| 373     breakpointsForUISourceCode: function(uiSourceCode) | 376     breakpointsForUISourceCode: function(uiSourceCode) | 
| 374     { | 377     { | 
| 375         var breakpointsMap = this._breakpointManager.breakpointsForUISourceCode(
     uiSourceCode); | 378         var breakpointsMap = this._breakpointManager.breakpointsForUISourceCode(
     uiSourceCode); | 
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 756             if (userCallback) | 759             if (userCallback) | 
| 757                 userCallback(error); | 760                 userCallback(error); | 
| 758             if (!error) | 761             if (!error) | 
| 759                 this._presentationModel._updateBreakpointsAfterLiveEdit(uiSource
     Code, oldContent, content); | 762                 this._presentationModel._updateBreakpointsAfterLiveEdit(uiSource
     Code, oldContent, content); | 
| 760         } | 763         } | 
| 761         this._presentationModel.setScriptSource(uiSourceCode, content, callback.
     bind(this)); | 764         this._presentationModel.setScriptSource(uiSourceCode, content, callback.
     bind(this)); | 
| 762     } | 765     } | 
| 763 } | 766 } | 
| 764 | 767 | 
| 765 /** | 768 /** | 
|  | 769  * @interface | 
|  | 770  */ | 
|  | 771 WebInspector.DebuggerPresentationModel.LinkifierFormatter = function() | 
|  | 772 { | 
|  | 773 } | 
|  | 774 | 
|  | 775 WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype = { | 
|  | 776     /** | 
|  | 777      * @param {WebInspector.RawSourceCode} rawSourceCode | 
|  | 778      * @param {Element} anchor | 
|  | 779      */ | 
|  | 780     formatRawSourceCodeAnchor: function(rawSourceCode, anchor) { }, | 
|  | 781 } | 
|  | 782 | 
|  | 783 /** | 
| 766  * @constructor | 784  * @constructor | 
|  | 785  * @implements {WebInspector.DebuggerPresentationModel.LinkifierFormatter} | 
|  | 786  * @param {number=} maxLength | 
|  | 787  */ | 
|  | 788 WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter = function(maxL
     ength) | 
|  | 789 { | 
|  | 790     this._maxLength = maxLength; | 
|  | 791 } | 
|  | 792 | 
|  | 793 WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype = { | 
|  | 794     /** | 
|  | 795      * @param {WebInspector.RawSourceCode} rawSourceCode | 
|  | 796      * @param {Element} anchor | 
|  | 797      */ | 
|  | 798     formatRawSourceCodeAnchor: function(rawSourceCode, anchor) | 
|  | 799     { | 
|  | 800         var uiLocation = rawSourceCode.sourceMapping.rawLocationToUILocation(anc
     hor.rawLocation); | 
|  | 801 | 
|  | 802         anchor.textContent = WebInspector.formatLinkText(uiLocation.uiSourceCode
     .url, uiLocation.lineNumber); | 
|  | 803 | 
|  | 804         var text = WebInspector.formatLinkText(uiLocation.uiSourceCode.url, uiLo
     cation.lineNumber); | 
|  | 805         if (this._maxLength) | 
|  | 806             text = text.trimMiddle(this._maxLength); | 
|  | 807         anchor.textContent = text; | 
|  | 808     } | 
|  | 809 } | 
|  | 810 | 
|  | 811 WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.__pro
     to__ = WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype; | 
|  | 812 | 
|  | 813 /** | 
|  | 814  * @constructor | 
| 767  * @param {WebInspector.DebuggerPresentationModel} model | 815  * @param {WebInspector.DebuggerPresentationModel} model | 
|  | 816  * @param {WebInspector.DebuggerPresentationModel.LinkifierFormatter=} formatter | 
| 768  */ | 817  */ | 
| 769 WebInspector.DebuggerPresentationModel.Linkifier = function(model) | 818 WebInspector.DebuggerPresentationModel.Linkifier = function(model, formatter) | 
| 770 { | 819 { | 
| 771     this._model = model; | 820     this._model = model; | 
|  | 821     this._formatter = formatter || new WebInspector.DebuggerPresentationModel.De
     faultLinkifierFormatter(); | 
| 772     this._anchorsForRawSourceCode = {}; | 822     this._anchorsForRawSourceCode = {}; | 
| 773 } | 823 } | 
| 774 | 824 | 
| 775 WebInspector.DebuggerPresentationModel.Linkifier.prototype = { | 825 WebInspector.DebuggerPresentationModel.Linkifier.prototype = { | 
| 776     /** | 826     /** | 
| 777      * @param {string} sourceURL | 827      * @param {string} sourceURL | 
| 778      * @param {number=} lineNumber | 828      * @param {number=} lineNumber | 
| 779      * @param {number=} columnNumber | 829      * @param {number=} columnNumber | 
| 780      * @param {string=} classes | 830      * @param {string=} classes | 
| 781      */ | 831      */ | 
| 782     linkifyLocation: function(sourceURL, lineNumber, columnNumber, classes) | 832     linkifyLocation: function(sourceURL, lineNumber, columnNumber, classes) | 
| 783     { | 833     { | 
|  | 834         var rawSourceCode = this._model._rawSourceCodeForScriptWithURL(sourceURL
     ); | 
|  | 835         if (!rawSourceCode) | 
|  | 836             return this.linkifyResource(sourceURL, lineNumber, classes); | 
|  | 837 | 
|  | 838         return this.linkifyRawSourceCode(rawSourceCode, lineNumber, columnNumber
     , classes); | 
|  | 839     }, | 
|  | 840 | 
|  | 841     /** | 
|  | 842      * @param {string} sourceURL | 
|  | 843      * @param {number=} lineNumber | 
|  | 844      * @param {string=} classes | 
|  | 845      */ | 
|  | 846     linkifyResource: function(sourceURL, lineNumber, classes) | 
|  | 847     { | 
| 784         var linkText = WebInspector.formatLinkText(sourceURL, lineNumber); | 848         var linkText = WebInspector.formatLinkText(sourceURL, lineNumber); | 
| 785         var anchor = WebInspector.linkifyURLAsNode(sourceURL, linkText, classes,
      false); | 849         var anchor = WebInspector.linkifyURLAsNode(sourceURL, linkText, classes,
      false); | 
|  | 850         anchor.setAttribute("preferred_panel", "resources"); | 
|  | 851         anchor.setAttribute("line_number", lineNumber); | 
|  | 852         return anchor; | 
|  | 853     }, | 
|  | 854 | 
|  | 855     /** | 
|  | 856      * @param {WebInspector.RawSourceCode} rawSourceCode | 
|  | 857      * @param {number=} lineNumber | 
|  | 858      * @param {number=} columnNumber | 
|  | 859      * @param {string=} classes | 
|  | 860      */ | 
|  | 861     linkifyRawSourceCode: function(rawSourceCode, lineNumber, columnNumber, clas
     ses) | 
|  | 862     { | 
|  | 863         var anchor = WebInspector.linkifyURLAsNode(rawSourceCode.url, "", classe
     s, false); | 
| 786         anchor.rawLocation = { lineNumber: lineNumber, columnNumber: columnNumbe
     r }; | 864         anchor.rawLocation = { lineNumber: lineNumber, columnNumber: columnNumbe
     r }; | 
| 787 | 865 | 
| 788         var rawSourceCode = this._model._rawSourceCodeForScriptWithURL(sourceURL
     ); |  | 
| 789         if (!rawSourceCode) { |  | 
| 790             anchor.setAttribute("preferred_panel", "resources"); |  | 
| 791             anchor.setAttribute("line_number", lineNumber); |  | 
| 792             return anchor; |  | 
| 793         } |  | 
| 794 |  | 
| 795         var anchors = this._anchorsForRawSourceCode[rawSourceCode.id]; | 866         var anchors = this._anchorsForRawSourceCode[rawSourceCode.id]; | 
| 796         if (!anchors) { | 867         if (!anchors) { | 
| 797             anchors = []; | 868             anchors = []; | 
| 798             this._anchorsForRawSourceCode[rawSourceCode.id] = anchors; | 869             this._anchorsForRawSourceCode[rawSourceCode.id] = anchors; | 
| 799             rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.Sou
     rceMappingUpdated, this._updateSourceAnchors, this); | 870             rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.Sou
     rceMappingUpdated, this._updateSourceAnchors, this); | 
| 800         } | 871         } | 
| 801 | 872 | 
| 802         if (rawSourceCode.sourceMapping) | 873         if (rawSourceCode.sourceMapping) | 
| 803             this._updateAnchor(rawSourceCode, anchor); | 874             this._updateAnchor(rawSourceCode, anchor); | 
| 804         anchors.push(anchor); | 875         anchors.push(anchor); | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 825             this._updateAnchor(rawSourceCode, anchors[i]); | 896             this._updateAnchor(rawSourceCode, anchors[i]); | 
| 826     }, | 897     }, | 
| 827 | 898 | 
| 828     /** | 899     /** | 
| 829      * @param {WebInspector.RawSourceCode} rawSourceCode | 900      * @param {WebInspector.RawSourceCode} rawSourceCode | 
| 830      * @param {Element} anchor | 901      * @param {Element} anchor | 
| 831      */ | 902      */ | 
| 832     _updateAnchor: function(rawSourceCode, anchor) | 903     _updateAnchor: function(rawSourceCode, anchor) | 
| 833     { | 904     { | 
| 834         var uiLocation = rawSourceCode.sourceMapping.rawLocationToUILocation(anc
     hor.rawLocation); | 905         var uiLocation = rawSourceCode.sourceMapping.rawLocationToUILocation(anc
     hor.rawLocation); | 
| 835         anchor.textContent = WebInspector.formatLinkText(uiLocation.uiSourceCode
     .url, uiLocation.lineNumber); |  | 
| 836         anchor.setAttribute("preferred_panel", "scripts"); | 906         anchor.setAttribute("preferred_panel", "scripts"); | 
| 837         anchor.uiSourceCode = uiLocation.uiSourceCode; | 907         anchor.uiSourceCode = uiLocation.uiSourceCode; | 
| 838         anchor.lineNumber = uiLocation.lineNumber; | 908         anchor.lineNumber = uiLocation.lineNumber; | 
|  | 909 | 
|  | 910         this._formatter.formatRawSourceCodeAnchor(rawSourceCode, anchor); | 
| 839     } | 911     } | 
| 840 } | 912 } | 
| 841 | 913 | 
| 842 WebInspector.DebuggerPresentationModelResourceBinding.prototype.__proto__ = WebI
     nspector.ResourceDomainModelBinding.prototype; | 914 WebInspector.DebuggerPresentationModelResourceBinding.prototype.__proto__ = WebI
     nspector.ResourceDomainModelBinding.prototype; | 
| 843 | 915 | 
| 844 /** | 916 /** | 
| 845  * @type {?WebInspector.DebuggerPresentationModel} | 917  * @type {?WebInspector.DebuggerPresentationModel} | 
| 846  */ | 918  */ | 
| 847 WebInspector.debuggerPresentationModel = null; | 919 WebInspector.debuggerPresentationModel = null; | 
| OLD | NEW | 
|---|