Changeset 76497 in webkit
- Timestamp:
- Jan 24, 2011 2:38:43 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 deleted
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r76496 r76497 1 2011-01-21 Pavel Podivilov <podivilov@chromium.org> 2 3 Reviewed by Pavel Feldman. 4 5 Web Inspector: eliminate SourceView and ScriptView classes. 6 https://bugs.webkit.org/show_bug.cgi?id=52896 7 8 SourceView and ScriptView delegate everything to SourceFrame and should be eliminated. 9 10 * WebCore.gypi: 11 * WebCore.vcproj/WebCore.vcproj: 12 * inspector/front-end/GoToLineDialog.js: 13 (WebInspector.GoToLineDialog.prototype._highlightSelectedLine): 14 * inspector/front-end/ResourceView.js: 15 (WebInspector.ResourceView.createResourceView): 16 (WebInspector.ResourceView.resourceViewTypeMatchesResource): 17 (WebInspector.SourceFrameContentProviderForResource): Moved from SourceView. 18 * inspector/front-end/ResourcesPanel.js: 19 (WebInspector.ResourcesPanel.prototype.show): 20 (WebInspector.ResourcesPanel.prototype._applyDiffMarkup): 21 (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated): 22 * inspector/front-end/ScriptView.js: Removed. 23 * inspector/front-end/ScriptsPanel.js: 24 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 25 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): 26 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 27 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 28 (WebInspector.ScriptsPanel.prototype._formatScript): 29 (WebInspector.SourceFrameContentProviderForScript): Moved from ScriptView. 30 * inspector/front-end/SourceFrame.js: 31 (WebInspector.SourceFrame): 32 (WebInspector.SourceFrame.prototype.show): 33 (WebInspector.SourceFrame.prototype.hide): 34 (WebInspector.SourceFrame.prototype.hasContent): 35 (WebInspector.SourceFrame.prototype._createTextViewer): 36 (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches): 37 (WebInspector.SourceFrame.prototype.performSearch): 38 * inspector/front-end/SourceView.js: Removed. 39 * inspector/front-end/WebKit.qrc: 40 * inspector/front-end/inspector.html: 41 1 42 2011-01-24 Andras Becsi <abecsi@webkit.org> 2 43 -
trunk/Source/WebCore/WebCore.gypi
r76493 r76497 4717 4717 'inspector/front-end/ScriptFormatterWorker.js', 4718 4718 'inspector/front-end/ScriptsPanel.js', 4719 'inspector/front-end/ScriptView.js',4720 4719 'inspector/front-end/ShortcutsHelp.js', 4721 4720 'inspector/front-end/Section.js', … … 4728 4727 'inspector/front-end/SourceJavaScriptTokenizer.js', 4729 4728 'inspector/front-end/SourceTokenizer.js', 4730 'inspector/front-end/SourceView.js',4731 4729 'inspector/front-end/StatusBarButton.js', 4732 4730 'inspector/front-end/StylesSidebarPane.js', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r76493 r76497 65702 65702 </File> 65703 65703 <File 65704 RelativePath="..\inspector\front-end\ScriptView.js"65705 >65706 </File>65707 <File65708 65704 RelativePath="..\inspector\front-end\Section.js" 65709 65705 > … … 65743 65739 <File 65744 65740 RelativePath="..\inspector\front-end\SourceTokenizer.js" 65745 >65746 </File>65747 <File65748 RelativePath="..\inspector\front-end\SourceView.js"65749 65741 > 65750 65742 </File> -
trunk/Source/WebCore/inspector/front-end/GoToLineDialog.js
r68398 r76497 46 46 this._input.setAttribute("type", "text"); 47 47 this._input.setAttribute("size", 6); 48 var linesCount = view. sourceFrame.textModel.linesCount;48 var linesCount = view.textModel.linesCount; 49 49 if (linesCount) 50 50 this._input.setAttribute("title", WebInspector.UIString("1 - %d", linesCount)); … … 121 121 var lineNumber = parseInt(value, 10); 122 122 if (!isNaN(lineNumber) && lineNumber > 0) { 123 lineNumber = Math.min(lineNumber, this._view. sourceFrame.textModel.linesCount);123 lineNumber = Math.min(lineNumber, this._view.textModel.linesCount); 124 124 this._view.highlightLine(lineNumber); 125 125 } -
trunk/Source/WebCore/inspector/front-end/ResourceView.js
r74709 r76497 51 51 case WebInspector.resourceCategories.scripts: 52 52 case WebInspector.resourceCategories.xhr: 53 return new WebInspector.SourceView(resource); 53 var contentProvider = new WebInspector.SourceFrameContentProviderForResource(resource); 54 var isScript = resource.type === WebInspector.Resource.Type.Script; 55 var view = new WebInspector.SourceFrame(contentProvider, resource.url, isScript); 56 view.resource = resource; 57 return view; 54 58 case WebInspector.resourceCategories.images: 55 59 return new WebInspector.ImageView(resource); … … 69 73 case WebInspector.resourceCategories.scripts: 70 74 case WebInspector.resourceCategories.xhr: 71 return resourceView.__proto__ === WebInspector.Source View.prototype;75 return resourceView.__proto__ === WebInspector.SourceFrame.prototype; 72 76 case WebInspector.resourceCategories.images: 73 77 return resourceView.__proto__ === WebInspector.ImageView.prototype; … … 116 120 return resource._resourcesView; 117 121 } 122 123 124 WebInspector.SourceFrameContentProviderForResource = function(resource) 125 { 126 WebInspector.SourceFrameContentProvider.call(this); 127 this._resource = resource; 128 } 129 130 //This is a map from resource.type to mime types 131 //found in WebInspector.SourceTokenizer.Registry. 132 WebInspector.SourceFrameContentProviderForResource.DefaultMIMETypeForResourceType = { 133 0: "text/html", 134 1: "text/css", 135 4: "text/javascript" 136 } 137 138 WebInspector.SourceFrameContentProviderForResource.prototype = { 139 requestContent: function(callback) 140 { 141 function contentLoaded(content) 142 { 143 var mimeType = WebInspector.SourceFrameContentProviderForResource.DefaultMIMETypeForResourceType[this._resource.type] || this._resource.mimeType; 144 callback(mimeType, content); 145 } 146 this._resource.requestContent(contentLoaded.bind(this)); 147 }, 148 149 scripts: function() 150 { 151 return WebInspector.debuggerModel.scriptsForURL(this._resource.url); 152 } 153 } 154 155 WebInspector.SourceFrameContentProviderForResource.prototype.__proto__ = WebInspector.SourceFrameContentProvider.prototype; -
trunk/Source/WebCore/inspector/front-end/ResourcesPanel.js
r76022 r76497 103 103 WebInspector.Panel.prototype.show.call(this); 104 104 105 if (this.visibleView instanceof WebInspector.ResourceView)105 if (this.visibleView.resource) 106 106 this._showResourceView(this.visibleView.resource); 107 107 … … 379 379 380 380 // Consider rendering diff markup here. 381 if (resource.baseRevision && view instanceof WebInspector.Source View) {381 if (resource.baseRevision && view instanceof WebInspector.SourceFrame) { 382 382 function callback(baseContent) 383 383 { … … 414 414 offset = i - right[i].row; 415 415 } 416 view. sourceFrame.markDiff(diffData);416 view.markDiff(diffData); 417 417 }, 418 418 … … 691 691 692 692 const visibleView = this.visibleView; 693 if (visibleView instanceof WebInspector.ResourceView && visibleView.performSearch)693 if (visibleView.performSearch) 694 694 views.push(visibleView); 695 695 … … 1077 1077 _errorsWarningsUpdated: function() 1078 1078 { 1079 // FIXME: move to the S cript/SourceView.1079 // FIXME: move to the SourceFrame. 1080 1080 if (!this._resource.warnings && !this._resource.errors) { 1081 1081 var view = WebInspector.ResourceView.existingResourceViewForResource(this._resource); -
trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js
r76341 r76497 259 259 260 260 var script = WebInspector.debuggerModel.scriptForSourceID(sourceID); 261 var oldView = script._s criptView;261 var oldView = script._sourceFrame 262 262 if (oldView) { 263 script._scriptView = new WebInspector.ScriptView(script);264 this.viewRecreated(oldView, script._scriptView);263 delete script._sourceFrame; 264 this.viewRecreated(oldView, this._sourceFrameForScriptOrResource(script)); 265 265 } 266 266 if (script.resource) { … … 485 485 }, 486 486 487 scriptViewForScript: function(script)488 {489 if (!script)490 return null;491 if (!script._scriptView)492 script._scriptView = new WebInspector.ScriptView(script);493 return script._scriptView;494 },495 496 sourceFrameForScript: function(script)497 {498 var view = this.scriptViewForScript(script);499 if (!view)500 return null;501 502 // Setting up the source frame requires that we be attached.503 if (!this.element.parentNode)504 this.attach();505 506 return view.sourceFrame;507 },508 509 487 _sourceFrameForScriptOrResource: function(scriptOrResource) 510 488 { 489 if (scriptOrResource._sourceFrame) 490 return scriptOrResource._sourceFrame; 511 491 if (scriptOrResource instanceof WebInspector.Resource) 512 return this._sourceFrameForResource(scriptOrResource); 513 if (scriptOrResource instanceof WebInspector.Script) 514 return this.sourceFrameForScript(scriptOrResource); 515 }, 516 517 _sourceFrameForResource: function(resource) 518 { 519 var view = WebInspector.ResourceView.resourceViewForResource(resource); 520 if (!view) 521 return null; 522 523 return view.sourceFrame; 492 scriptOrResource._sourceFrame = WebInspector.ResourceView.resourceViewForResource(scriptOrResource); 493 else if (scriptOrResource instanceof WebInspector.Script) { 494 var contentProvider = new WebInspector.SourceFrameContentProviderForScript(scriptOrResource); 495 scriptOrResource._sourceFrame = new WebInspector.SourceFrame(contentProvider, scriptOrResource.sourceURL, true); 496 } 497 return scriptOrResource._sourceFrame; 524 498 }, 525 499 … … 532 506 return; 533 507 534 var view; 535 if (scriptOrResource instanceof WebInspector.Resource) 536 view = WebInspector.ResourceView.resourceViewForResource(scriptOrResource); 537 else if (scriptOrResource instanceof WebInspector.Script) 538 view = this.scriptViewForScript(scriptOrResource); 539 508 var view = this._sourceFrameForScriptOrResource(scriptOrResource); 540 509 if (!view) 541 510 return; … … 739 708 else if (pauseOnExceptionsState == WebInspector.ScriptsPanel.PauseOnExceptionsState.PauseOnUncaughtExceptions) 740 709 this._pauseOnExceptionButton.title = WebInspector.UIString("Pause on uncaught exceptions.\nClick to Not pause on exceptions."); 741 710 742 711 this._pauseOnExceptionButton.state = pauseOnExceptionsState; 743 712 WebInspector.settings.pauseOnExceptionState = pauseOnExceptionsState; … … 825 794 _formatScript: function() 826 795 { 827 if (this.visibleView && this.visibleView.sourceFrame)828 this.visibleView. sourceFrame.formatSource();796 if (this.visibleView) 797 this.visibleView.formatSource(); 829 798 }, 830 799 … … 1044 1013 1045 1014 WebInspector.ScriptsPanel.prototype.__proto__ = WebInspector.Panel.prototype; 1015 1016 1017 WebInspector.SourceFrameContentProviderForScript = function(script) 1018 { 1019 WebInspector.SourceFrameContentProvider.call(this); 1020 this._script = script; 1021 } 1022 1023 WebInspector.SourceFrameContentProviderForScript.prototype = { 1024 requestContent: function(callback) 1025 { 1026 if (this._script.source) { 1027 callback("text/javascript", this._script.source); 1028 return; 1029 } 1030 1031 function didRequestSource(content) 1032 { 1033 var source; 1034 if (content) { 1035 var prefix = ""; 1036 for (var i = 0; i < this._script.startingLine - 1; ++i) 1037 prefix += "\n"; 1038 source = prefix + content; 1039 } else 1040 source = WebInspector.UIString("<source is not available>"); 1041 callback("text/javascript", source); 1042 } 1043 this._script.requestSource(didRequestSource.bind(this)); 1044 }, 1045 1046 scripts: function() 1047 { 1048 return [this._script]; 1049 } 1050 } 1051 1052 WebInspector.SourceFrameContentProviderForScript.prototype.__proto__ = WebInspector.SourceFrameContentProvider.prototype; -
trunk/Source/WebCore/inspector/front-end/SourceFrame.js
r76488 r76497 29 29 */ 30 30 31 WebInspector.SourceFrame = function( parentElement,contentProvider, url, isScript)31 WebInspector.SourceFrame = function(contentProvider, url, isScript) 32 32 { 33 this._parentElement = parentElement; 33 WebInspector.View.call(this); 34 35 this.element.addStyleClass("script-view"); 36 34 37 this._contentProvider = contentProvider; 35 38 this._url = url; 36 39 this._isScript = isScript; 37 40 38 39 41 this._textModel = new WebInspector.TextEditorModel(); 40 42 this._textModel.replaceTabsWithSpaces = true; 43 44 this._currentSearchResultIndex = -1; 45 this._searchResults = []; 41 46 42 47 this._messages = []; … … 49 54 WebInspector.SourceFrame.prototype = { 50 55 51 set visible(visible) 52 { 56 show: function(parentElement) 57 { 58 WebInspector.View.prototype.show.call(this, parentElement); 59 53 60 if (!this._contentRequested) { 54 61 this._contentRequested = true; … … 56 63 } 57 64 58 if ( visible) {59 if (this._ textViewer && this._scrollTop)65 if (this._textViewer) { 66 if (this._scrollTop) 60 67 this._textViewer.element.scrollTop = this._scrollTop; 61 if (this._ textViewer && this._scrollLeft)68 if (this._scrollLeft) 62 69 this._textViewer.element.scrollLeft = this._scrollLeft; 63 if (this._textViewer) 64 this._textViewer.resize(); 65 } else { 66 this._hidePopup(); 67 this._clearLineHighlight(); 68 if (this._textViewer) { 69 this._scrollTop = this._textViewer.element.scrollTop; 70 this._scrollLeft = this._textViewer.element.scrollLeft; 71 this._textViewer.freeCachedElements(); 72 } 73 } 70 this._textViewer.resize(); 71 } 72 }, 73 74 hide: function() 75 { 76 WebInspector.View.prototype.hide.call(this); 77 78 this._hidePopup(); 79 this._clearLineHighlight(); 80 81 if (this._textViewer) { 82 this._scrollTop = this._textViewer.element.scrollTop; 83 this._scrollLeft = this._textViewer.element.scrollLeft; 84 this._textViewer.freeCachedElements(); 85 } 86 }, 87 88 hasContent: function() 89 { 90 return true; 74 91 }, 75 92 … … 167 184 element.addEventListener("scroll", this._scroll.bind(this), true); 168 185 element.addEventListener("dblclick", this._doubleClick.bind(this), true); 169 this. _parentElement.appendChild(element);186 this.element.appendChild(element); 170 187 171 188 this._textViewer.beginUpdates(); … … 241 258 } 242 259 243 callback(this ._searchResults.length);260 callback(this, this._searchResults.length); 244 261 } 245 262 … … 911 928 } 912 929 913 WebInspector.SourceFrame.prototype.__proto__ = WebInspector. Object.prototype;930 WebInspector.SourceFrame.prototype.__proto__ = WebInspector.View.prototype; 914 931 915 932 -
trunk/Source/WebCore/inspector/front-end/WebKit.qrc
r76246 r76497 85 85 <file>ScriptFormatterWorker.js</file> 86 86 <file>ScriptsPanel.js</file> 87 <file>ScriptView.js</file>88 87 <file>Section.js</file> 89 88 <file>Settings.js</file> … … 96 95 <file>SourceJavaScriptTokenizer.js</file> 97 96 <file>SourceTokenizer.js</file> 98 <file>SourceView.js</file>99 97 <file>StatusBarButton.js</file> 100 98 <file>StylesSidebarPane.js</file> -
trunk/Source/WebCore/inspector/front-end/inspector.html
r76116 r76497 102 102 <script type="text/javascript" src="NetworkPanel.js"></script> 103 103 <script type="text/javascript" src="InjectedFakeWorker.js"></script> 104 <script type="text/javascript" src="SourceFrame.js"></script> 105 <script type="text/javascript" src="ResourceView.js"></script> 104 106 <script type="text/javascript" src="ScriptsPanel.js"></script> 105 107 <script type="text/javascript" src="ResourcesPanel.js"></script> … … 121 123 <script type="text/javascript" src="ResourceTimingView.js"></script> 122 124 <script type="text/javascript" src="NetworkItemView.js"></script> 123 <script type="text/javascript" src="ResourceView.js"></script>124 <script type="text/javascript" src="SourceFrame.js"></script>125 125 <script type="text/javascript" src="ScriptFormatter.js"></script> 126 126 <script type="text/javascript" src="DOMSyntaxHighlighter.js"></script> … … 132 132 <script type="text/javascript" src="SourceHTMLTokenizer.js"></script> 133 133 <script type="text/javascript" src="SourceJavaScriptTokenizer.js"></script> 134 <script type="text/javascript" src="SourceView.js"></script>135 134 <script type="text/javascript" src="FontView.js"></script> 136 135 <script type="text/javascript" src="ImageView.js"></script> 137 136 <script type="text/javascript" src="DatabaseTableView.js"></script> 138 137 <script type="text/javascript" src="DatabaseQueryView.js"></script> 139 <script type="text/javascript" src="ScriptView.js"></script>140 138 <script type="text/javascript" src="ProfileDataGridTree.js"></script> 141 139 <script type="text/javascript" src="BottomUpProfileDataGridTree.js"></script>
Note: See TracChangeset
for help on using the changeset viewer.