Changeset 103408 in webkit
- Timestamp:
- Dec 21, 2011 7:48:44 AM (12 years ago)
- Location:
- trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r103407 r103408 1 2011-12-12 Pavel Podivilov <podivilov@chromium.org> 2 3 Web Inspector: fix source map url resolving. 4 https://bugs.webkit.org/show_bug.cgi?id=74305 5 6 Reviewed by Pavel Feldman. 7 8 * http/tests/inspector/compiler-source-mapping-expected.txt: 9 * http/tests/inspector/compiler-source-mapping.html: 10 1 11 2011-12-21 Renata Hodovan <reni@webkit.org> 2 12 -
trunk/LayoutTests/http/tests/inspector/compiler-source-mapping-expected.txt
r101359 r103408 10 10 Running: testSections 11 11 12 Running: testResolveSourceMappingURL 13 12 14 Running: testLoad 13 15 -
trunk/LayoutTests/http/tests/inspector/compiler-source-mapping.html
r101359 r103408 98 98 "map": { 99 99 "mappings":"AAAA,CAEC", 100 "sources":["source1.js" ]100 "sources":["source1.js", "source2.js"] 101 101 } 102 102 }, { … … 110 110 var mapping = new WebInspector.ClosureCompilerSourceMapping(); 111 111 mapping._parseMappingPayload(mappingPayload); 112 InspectorTest.assertEquals(2, mapping.sources().length); 112 113 checkMapping(0, 0, "source1.js", 0, 0, mapping); 113 114 checkMapping(0, 1, "source1.js", 2, 1, mapping); 114 115 checkMapping(2, 10, "source2.js", 0, 0, mapping); 115 116 checkMapping(2, 11, "source2.js", 2, 1, mapping); 117 next(); 118 }, 119 120 function testResolveSourceMappingURL(next) 121 { 122 var func = WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL; 123 InspectorTest.assertEquals("http://example.com/map.json", func("http://example.com/map.json", "http://example.com/script.js")); 124 InspectorTest.assertEquals("http://example.com/map.json", func("/map.json", "http://example.com/script.js")); 125 InspectorTest.assertEquals("http://example.com/scripts/../maps/map.json", func("../maps/map.json", "http://example.com/scripts/script.js")); 116 126 next(); 117 127 }, -
trunk/Source/WebCore/ChangeLog
r103407 r103408 1 2011-12-12 Pavel Podivilov <podivilov@chromium.org> 2 3 Web Inspector: fix source map url resolving. 4 https://bugs.webkit.org/show_bug.cgi?id=74305 5 6 Reviewed by Pavel Feldman. 7 8 Also fix the bug with repeated source urls in mapping sections. 9 10 * inspector/front-end/CompilerSourceMapping.js: 11 (WebInspector.ClosureCompilerSourceMapping): 12 (WebInspector.ClosureCompilerSourceMapping.prototype.sources): 13 (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap): 14 (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL): 15 * inspector/front-end/DebuggerPresentationModel.js: 16 (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping): 17 * inspector/front-end/utilities.js: 18 (String.prototype.asParsedURL): 19 1 20 2011-12-21 Renata Hodovan <reni@webkit.org> 2 21 -
trunk/Source/WebCore/inspector/front-end/CompilerSourceMapping.js
r102003 r103408 73 73 * @constructor 74 74 * @param {string} sourceMappingURL 75 */ 76 WebInspector.ClosureCompilerSourceMapping = function(sourceMappingURL) 75 * @param {string} sourceURL 76 */ 77 WebInspector.ClosureCompilerSourceMapping = function(sourceMappingURL, scriptSourceOrigin) 77 78 { 78 79 if (!WebInspector.ClosureCompilerSourceMapping.prototype._base64Map) { … … 83 84 } 84 85 85 this._sourceMappingURL = sourceMappingURL; 86 this._sources = []; 86 this._sourceMappingURL = this._resolveSourceMapURL(sourceMappingURL, scriptSourceOrigin); 87 87 this._mappings = []; 88 88 this._reverseMappingsBySourceURL = {}; … … 132 132 sources: function() 133 133 { 134 return this._sources; 134 var sources = []; 135 for (var sourceURL in this._reverseMappingsBySourceURL) 136 sources.push(sourceURL); 137 return sources; 135 138 }, 136 139 … … 186 189 _parseMap: function(map, lineNumber, columnNumber) 187 190 { 188 var sourceIndex = this._sources.length;191 var sourceIndex = 0; 189 192 var sourceLineNumber = 0; 190 193 var sourceColumnNumber = 0; 191 194 var nameIndex = 0; 192 195 196 var sources = []; 193 197 for (var i = 0; i < map.sources.length; ++i) { 194 198 var url = this._canonicalizeURL(map.sourceRoot, map.sources[i]); 195 this._sources.push(url); 196 this._reverseMappingsBySourceURL[url] = []; 199 sources.push(url); 200 if (!this._reverseMappingsBySourceURL[url]) 201 this._reverseMappingsBySourceURL[url] = []; 197 202 } 198 203 199 204 var stringCharIterator = new WebInspector.ClosureCompilerSourceMapping.StringCharIterator(map.mappings); 200 var sourceURL = this._sources[sourceIndex];205 var sourceURL = sources[sourceIndex]; 201 206 var reverseMappings = this._reverseMappingsBySourceURL[sourceURL]; 202 207 … … 219 224 if (sourceIndexDelta) { 220 225 sourceIndex += sourceIndexDelta; 221 sourceURL = this._sources[sourceIndex];226 sourceURL = sources[sourceIndex]; 222 227 reverseMappings = this._reverseMappingsBySourceURL[sourceURL]; 223 228 } … … 261 266 }, 262 267 268 _resolveSourceMapURL: function(sourceMappingURL, scriptSourceOrigin) 269 { 270 if (!sourceMappingURL || !scriptSourceOrigin) 271 return sourceMappingURL; 272 273 if (sourceMappingURL.asParsedURL()) 274 return sourceMappingURL; 275 276 var origin = scriptSourceOrigin.asParsedURL(); 277 var baseURL = origin.scheme + "://" + origin.host + (origin.port ? ":" + origin.port : ""); 278 if (sourceMappingURL[0] === "/") 279 return baseURL + sourceMappingURL; 280 return baseURL + origin.firstPathComponents + sourceMappingURL; 281 }, 282 263 283 _VLQ_BASE_SHIFT: 5, 264 284 _VLQ_BASE_MASK: (1 << 5) - 1, -
trunk/Source/WebCore/inspector/front-end/DebuggerPresentationModel.js
r103229 r103408 342 342 setCompilerSourceMapping: function(uiSourceCode, sourceMappingURL) 343 343 { 344 var sourceMapping = new WebInspector.ClosureCompilerSourceMapping(sourceMappingURL );344 var sourceMapping = new WebInspector.ClosureCompilerSourceMapping(sourceMappingURL, uiSourceCode.url); 345 345 uiSourceCode.rawSourceCode.setCompilerSourceMapping(sourceMapping); 346 346 }, -
trunk/Source/WebCore/inspector/front-end/utilities.js
r102450 r103408 470 470 // Then take last path component. 471 471 var lastSlashIndex = path.lastIndexOf("/"); 472 if (lastSlashIndex !== -1) 472 if (lastSlashIndex !== -1) { 473 result.firstPathComponents = path.substring(0, lastSlashIndex + 1); 473 474 result.lastPathComponent = path.substring(lastSlashIndex + 1); 475 } 474 476 } 475 477 return result;
Note: See TracChangeset
for help on using the changeset viewer.