Changeset 96313 in webkit
- Timestamp:
- Sep 29, 2011 1:44:57 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 1 deleted
- 5 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r96311 r96313 1 2011-09-29 Pavel Podivilov <podivilov@chromium.org> 2 3 Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js. 4 https://bugs.webkit.org/show_bug.cgi?id=69068 5 6 Reviewed by Yury Semikhatsky. 7 8 * WebCore.gypi: 9 * WebCore.vcproj/WebCore.vcproj: 10 * inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js. 11 (WebInspector.RawSourceCode): Moved from SourceFile.js. 12 (WebInspector.UILocation): Moved from SourceFile.js. 13 * inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js 14 (WebInspector.ScriptContentProvider): 15 (WebInspector.ScriptContentProvider.prototype.requestContent): 16 (WebInspector.ConcatenatedScriptsContentProvider): 17 (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent): 18 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk): 19 (WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent): 20 (WebInspector.ResourceContentProvider): 21 (WebInspector.ResourceContentProvider.prototype.requestContent): 22 (WebInspector.StaticContentProvider): 23 (WebInspector.StaticContentProvider.prototype.requestContent): 24 * inspector/front-end/WebKit.qrc: 25 * inspector/front-end/inspector.html: 26 1 27 2011-09-29 Philippe Normand <pnormand@igalia.com> 2 28 -
trunk/Source/WebCore/WebCore.gypi
r96215 r96313 6226 6226 'inspector/front-end/ConsoleView.js', 6227 6227 'inspector/front-end/JavaScriptContextManager.js', 6228 'inspector/front-end/ContentProviders.js', 6228 6229 'inspector/front-end/ContextMenu.js', 6229 6230 'inspector/front-end/CookieItemsView.js', … … 6289 6290 'inspector/front-end/PropertiesSection.js', 6290 6291 'inspector/front-end/PropertiesSidebarPane.js', 6292 'inspector/front-end/RawSourceCode.js', 6291 6293 'inspector/front-end/RemoteObject.js', 6292 6294 'inspector/front-end/Resource.js', … … 6317 6319 'inspector/front-end/SoftContextMenu.js', 6318 6320 'inspector/front-end/SourceCSSTokenizer.js', 6319 'inspector/front-end/SourceFile.js',6320 6321 'inspector/front-end/SourceFrame.js', 6321 6322 'inspector/front-end/SourceHTMLTokenizer.js', -
trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj
r96215 r96313 69118 69118 </File> 69119 69119 <File 69120 RelativePath="..\inspector\front-end\ContentProviders.js" 69121 > 69122 </File> 69123 <File 69120 69124 RelativePath="..\inspector\front-end\ContextMenu.js" 69121 69125 > … … 69430 69434 </File> 69431 69435 <File 69436 RelativePath="..\inspector\front-end\RawSourceCode.js" 69437 > 69438 </File> 69439 <File 69432 69440 RelativePath="..\inspector\front-end\RemoteObject.js" 69433 69441 > … … 69539 69547 <File 69540 69548 RelativePath="..\inspector\front-end\SourceCSSTokenizer.js" 69541 >69542 </File>69543 <File69544 RelativePath="..\inspector\front-end\SourceFile.js"69545 69549 > 69546 69550 </File> -
trunk/Source/WebCore/inspector/front-end/RawSourceCode.js
r96312 r96313 237 237 } 238 238 239 240 239 /** 241 240 * @constructor … … 247 246 this.columnNumber = columnNumber; 248 247 } 249 250 251 /**252 * @constructor253 * @implements {WebInspector.ContentProvider}254 */255 WebInspector.ScriptContentProvider = function(script)256 {257 this._mimeType = "text/javascript";258 this._script = script;259 };260 261 WebInspector.ScriptContentProvider.prototype = {262 requestContent: function(callback)263 {264 function didRequestSource(source)265 {266 callback(this._mimeType, source);267 }268 this._script.requestSource(didRequestSource.bind(this));269 }270 }271 272 WebInspector.ScriptContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;273 274 /**275 * @constructor276 * @implements {WebInspector.ContentProvider}277 */278 WebInspector.ConcatenatedScriptsContentProvider = function(scripts)279 {280 this._mimeType = "text/html";281 this._scripts = scripts;282 };283 284 WebInspector.ConcatenatedScriptsContentProvider.prototype = {285 requestContent: function(callback)286 {287 var scripts = this._scripts.slice();288 scripts.sort(function(x, y) { return x.lineOffset - y.lineOffset || x.columnOffset - y.columnOffset; });289 var sources = [];290 function didRequestSource(source)291 {292 sources.push(source);293 if (sources.length == scripts.length)294 callback(this._mimeType, this._concatenateScriptsContent(scripts, sources));295 }296 for (var i = 0; i < scripts.length; ++i)297 scripts[i].requestSource(didRequestSource.bind(this));298 },299 300 _concatenateScriptsContent: function(scripts, sources)301 {302 var content = "";303 var lineNumber = 0;304 var columnNumber = 0;305 306 function appendChunk(chunk)307 {308 content += chunk;309 var lineEndings = chunk.lineEndings();310 var lineCount = lineEndings.length;311 if (lineCount === 1)312 columnNumber += chunk.length;313 else {314 lineNumber += lineCount - 1;315 columnNumber = lineEndings[lineCount - 1] - lineEndings[lineCount - 2] - 1;316 }317 }318 319 var scriptOpenTag = "<script>";320 var scriptCloseTag = "</script>";321 for (var i = 0; i < scripts.length; ++i) {322 if (lineNumber > scripts[i].lineOffset || (lineNumber === scripts[i].lineOffset && columnNumber > scripts[i].columnOffset - scriptOpenTag.length))323 continue;324 325 // Fill the gap with whitespace characters.326 while (lineNumber < scripts[i].lineOffset)327 appendChunk("\n");328 while (columnNumber < scripts[i].columnOffset - scriptOpenTag.length)329 appendChunk(" ");330 331 // Add script tag.332 appendChunk(scriptOpenTag);333 appendChunk(sources[i]);334 appendChunk(scriptCloseTag);335 }336 337 return content;338 }339 }340 341 WebInspector.ConcatenatedScriptsContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;342 343 /**344 * @constructor345 * @implements {WebInspector.ContentProvider}346 */347 WebInspector.ResourceContentProvider = function(resource)348 {349 this._mimeType = resource.type === WebInspector.Resource.Type.Script ? "text/javascript" : "text/html";350 this._resource = resource;351 };352 353 WebInspector.ResourceContentProvider.prototype = {354 requestContent: function(callback)355 {356 function didRequestContent(content)357 {358 callback(this._mimeType, content);359 }360 this._resource.requestContent(didRequestContent.bind(this));361 },362 363 searchInContent: function(query, callback)364 {365 this._resource.searchInContent(query, callback);366 }367 }368 369 WebInspector.ResourceContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype;370 371 372 WebInspector.StaticContentProvider = function(mimeType, content)373 {374 this._mimeType = mimeType;375 this._content = content;376 };377 378 WebInspector.StaticContentProvider.prototype = {379 requestContent: function(callback)380 {381 callback(this._mimeType, this._content);382 }383 }384 385 WebInspector.StaticContentProvider.prototype.__proto__ = WebInspector.ContentProvider.prototype; -
trunk/Source/WebCore/inspector/front-end/WebKit.qrc
r95942 r96313 21 21 <file>ConsolePanel.js</file> 22 22 <file>ConsoleView.js</file> 23 <file>ContentProviders.js</file> 23 24 <file>ContextMenu.js</file> 24 25 <file>CookieItemsView.js</file> … … 36 37 <file>DebuggerModel.js</file> 37 38 <file>DebuggerPresentationModel.js</file> 38 <file>SourceFile.js</file>39 39 <file>DOMAgent.js</file> 40 40 <file>DOMBreakpointsSidebarPane.js</file> … … 87 87 <file>PropertiesSection.js</file> 88 88 <file>PropertiesSidebarPane.js</file> 89 <file>RawSourceCode.js</file> 89 90 <file>RemoteObject.js</file> 90 91 <file>Resource.js</file> -
trunk/Source/WebCore/inspector/front-end/inspector.html
r95942 r96313 161 161 <script type="text/javascript" src="BreakpointManager.js"></script> 162 162 <script type="text/javascript" src="UISourceCode.js"></script> 163 <script type="text/javascript" src="SourceFile.js"></script> 163 <script type="text/javascript" src="ContentProviders.js"></script> 164 <script type="text/javascript" src="RawSourceCode.js"></script> 164 165 <script type="text/javascript" src="CompilerSourceMapping.js"></script> 165 166 <script type="text/javascript" src="DOMAgent.js"></script>
Note: See TracChangeset
for help on using the changeset viewer.