Changeset 143174 in webkit
- Timestamp:
- Feb 18, 2013 1:30:22 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r143173 r143174 1 2013-02-18 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r143100. 4 http://trac.webkit.org/changeset/143100 5 https://bugs.webkit.org/show_bug.cgi?id=110088 6 7 Breaks file system support in workspace. (Requested by vsevik 8 on #webkit). 9 10 * inspector/debugger/live-edit-breakpoints-expected.txt: 11 * inspector/debugger/live-edit-breakpoints.html: 12 * inspector/uisourcecode-revisions.html: 13 1 14 2013-02-18 Zan Dobersek <zdobersek@igalia.com> 2 15 -
trunk/LayoutTests/inspector/debugger/live-edit-breakpoints-expected.txt
r143100 r143174 10 10 edit-me-breakpoints.js:2, enabled:true 11 11 Dumping breakpoint locations 12 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://12 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 13 13 Editing source: 14 14 TextEditor.removeBreakpoint(lineNumber = 2) … … 18 18 edit-me-breakpoints.js:2, enabled:true 19 19 Dumping breakpoint locations 20 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://20 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 21 21 Undoing source editing: 22 22 OriginalTextEditor.removeBreakpoint(lineNumber = 2) … … 27 27 edit-me-breakpoints.js:2, enabled:true 28 28 Dumping breakpoint locations 29 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://29 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 30 30 Finally removing breakpoint: 31 31 TextEditor.removeBreakpoint(lineNumber = 2) … … 39 39 edit-me-breakpoints.js:2, enabled:true 40 40 Dumping breakpoint locations 41 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://41 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 42 42 Editing source: 43 43 OriginalTextEditor.addBreakpoint(lineNumber = 2, disabled = false) … … 47 47 edit-me-breakpoints.js:2, enabled:true 48 48 Dumping breakpoint locations 49 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://49 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 50 50 Committing edited source: 51 51 OriginalTextEditor.removeBreakpoint(lineNumber = 2) … … 56 56 edit-me-breakpoints.js:2, enabled:true 57 57 Dumping breakpoint locations 58 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://58 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 59 59 Finally removing breakpoint: 60 60 TextEditor.removeBreakpoint(lineNumber = 2) … … 68 68 edit-me-breakpoints.js:2, enabled:true 69 69 Dumping breakpoint locations 70 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://70 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 71 71 Editing source: 72 72 OriginalTextEditor.addBreakpoint(lineNumber = 2, disabled = false) … … 76 76 edit-me-breakpoints.js:2, enabled:true 77 77 Dumping breakpoint locations 78 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://78 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 79 79 Committing edited source: 80 80 Dumping breakpoint storage 81 81 edit-me-breakpoints.js:2, enabled:true 82 82 Dumping breakpoint locations 83 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://83 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 84 84 Editing source again so that live edit could succeed: 85 85 Dumping breakpoint storage 86 86 edit-me-breakpoints.js:2, enabled:true 87 87 Dumping breakpoint locations 88 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://88 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 89 89 Committing edited source again: 90 90 OriginalTextEditor.removeBreakpoint(lineNumber = 2) … … 95 95 edit-me-breakpoints.js:2, enabled:true 96 96 Dumping breakpoint locations 97 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://97 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 98 98 Finally removing breakpoint: 99 99 TextEditor.removeBreakpoint(lineNumber = 2) … … 107 107 edit-me-breakpoints.js:2, enabled:true 108 108 Dumping breakpoint locations 109 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://109 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 110 110 Editing source: 111 111 OriginalTextEditor.addBreakpoint(lineNumber = 2, disabled = false) … … 115 115 edit-me-breakpoints.js:2, enabled:true 116 116 Dumping breakpoint locations 117 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://117 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 118 118 Committing edited source: 119 119 Dumping breakpoint storage 120 120 edit-me-breakpoints.js:2, enabled:true 121 121 Dumping breakpoint locations 122 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://122 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 123 123 Undoing source editing: 124 124 Dumping breakpoint storage 125 125 edit-me-breakpoints.js:2, enabled:true 126 126 Dumping breakpoint locations 127 url: edit-me-breakpoints.js, lineNumber: 2, project type: debugger, project id: debugger:file://127 url: edit-me-breakpoints.js, lineNumber: 2, project name: debugger 128 128 Committing edited source again: 129 129 OriginalTextEditor.removeBreakpoint(lineNumber = 2) … … 134 134 edit-me-breakpoints.js:2, enabled:true 135 135 Dumping breakpoint locations 136 url: edit-me-breakpoints.js, lineNumber: 2, project type: network, project id: file://136 url: edit-me-breakpoints.js, lineNumber: 2, project name: network 137 137 Finally removing breakpoint: 138 138 TextEditor.removeBreakpoint(lineNumber = 2) … … 149 149 Dumping breakpoint storage 150 150 Dumping breakpoint locations 151 url: , lineNumber: 2, project type: debugger, project id: debugger:151 url: , lineNumber: 2, project name: debugger 152 152 Editing source: 153 153 Dumping breakpoint storage 154 154 Dumping breakpoint locations 155 url: , lineNumber: 2, project type: debugger, project id: debugger:155 url: , lineNumber: 2, project name: debugger 156 156 Undoing source editing: 157 157 Dumping breakpoint storage 158 158 Dumping breakpoint locations 159 url: , lineNumber: 2, project type: debugger, project id: debugger:159 url: , lineNumber: 2, project name: debugger 160 160 Finally removing breakpoint: 161 161 TextEditor.removeBreakpoint(lineNumber = 2) … … 172 172 Dumping breakpoint storage 173 173 Dumping breakpoint locations 174 url: , lineNumber: 2, project type: debugger, project id: debugger:174 url: , lineNumber: 2, project name: debugger 175 175 Editing source: 176 176 Dumping breakpoint storage 177 177 Dumping breakpoint locations 178 url: , lineNumber: 2, project type: debugger, project id: debugger:178 url: , lineNumber: 2, project name: debugger 179 179 Undoing source editing: 180 180 Dumping breakpoint storage 181 181 Dumping breakpoint locations 182 url: , lineNumber: 2, project type: debugger, project id: debugger:182 url: , lineNumber: 2, project name: debugger 183 183 Finally removing breakpoint: 184 184 TextEditor.removeBreakpoint(lineNumber = 2) -
trunk/LayoutTests/inspector/debugger/live-edit-breakpoints.html
r143100 r143174 40 40 var uiLocation = locations[i].uiLocation; 41 41 var uiSourceCode = uiLocation.uiSourceCode; 42 var project = uiSourceCode.project();43 InspectorTest.addResult(" url: " + pathToFileName(uiSourceCode.originURL()) + ", lineNumber: " + uiLocation.lineNumber + ", project type: " + project.type() + ", project id: " + project.id());42 var project = WebInspector.workspace.projectForUISourceCode(uiSourceCode); 43 InspectorTest.addResult(" url: " + pathToFileName(uiSourceCode.originURL()) + ", lineNumber: " + uiLocation.lineNumber + ", project name: " + project.id()); 44 44 } 45 45 } -
trunk/LayoutTests/inspector/uisourcecode-revisions.html
r143100 r143174 10 10 { 11 11 var workspace = new WebInspector.Workspace(); 12 var projectDelegate = new WebInspector.SimpleProjectDelegate( "",WebInspector.projectTypes.Network);12 var projectDelegate = new WebInspector.SimpleProjectDelegate(WebInspector.projectTypes.Network); 13 13 var project = workspace.addProject(projectDelegate); 14 14 project.requestFileContent = function(uri, callback) -
trunk/Source/WebCore/ChangeLog
r143159 r143174 1 2013-02-18 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r143100. 4 http://trac.webkit.org/changeset/143100 5 https://bugs.webkit.org/show_bug.cgi?id=110088 6 7 Breaks file system support in workspace. (Requested by vsevik 8 on #webkit). 9 10 * inspector/front-end/ScriptSnippetModel.js: 11 (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet): 12 * inspector/front-end/SimpleWorkspaceProvider.js: 13 (WebInspector.SimpleProjectDelegate): 14 (WebInspector.SimpleProjectDelegate.prototype.id): 15 (WebInspector.SimpleProjectDelegate.prototype.displayName): 16 (WebInspector.SimpleProjectDelegate.prototype.addFile): 17 (WebInspector.SimpleWorkspaceProvider): 18 (WebInspector.SimpleWorkspaceProvider.uriForURL): 19 (WebInspector.SimpleWorkspaceProvider.prototype._innerAddFileForURL): 20 (WebInspector.SimpleWorkspaceProvider.prototype.removeFile): 21 (WebInspector.SimpleWorkspaceProvider.prototype.reset): 22 * inspector/front-end/UISourceCode.js: 23 (WebInspector.UISourceCode.prototype.uri): 24 * inspector/front-end/Workspace.js: 25 (WebInspector.Project.prototype._fileAdded): 26 (WebInspector.Project.prototype._fileRemoved): 27 (WebInspector.Project.prototype.uiSourceCodeForURI): 28 (WebInspector.Workspace.prototype.projectForUISourceCode): 29 1 30 2013-02-15 Eugene Klyuchnikov <eustas@chromium.org> 2 31 -
trunk/Source/WebCore/inspector/front-end/ScriptSnippetModel.js
r143100 r143174 83 83 _addScriptSnippet: function(snippet) 84 84 { 85 var uiSourceCode = this._workspaceProvider.addFile ByName("",snippet.name, new WebInspector.SnippetContentProvider(snippet), true);85 var uiSourceCode = this._workspaceProvider.addFileForURL(snippet.name, new WebInspector.SnippetContentProvider(snippet), true); 86 86 var scriptFile = new WebInspector.SnippetScriptFile(this, uiSourceCode); 87 87 uiSourceCode.setScriptFile(scriptFile); … … 104 104 delete this._uiSourceCodeForSnippetId[snippet.id]; 105 105 this._snippetIdForUISourceCode.remove(uiSourceCode); 106 this._workspaceProvider.removeFile ByName("",snippet.name);106 this._workspaceProvider.removeFile(snippet.name); 107 107 }, 108 108 -
trunk/Source/WebCore/inspector/front-end/SimpleWorkspaceProvider.js
r143100 r143174 34 34 * @extends {WebInspector.Object} 35 35 */ 36 WebInspector.SimpleProjectDelegate = function( name,type)36 WebInspector.SimpleProjectDelegate = function(type) 37 37 { 38 this._name = name;39 38 this._type = type; 40 39 /** @type {Object.<string, WebInspector.ContentProvider>} */ … … 43 42 } 44 43 45 WebInspector.SimpleProjectDelegate.projectId = function(name, type)46 {47 var typePrefix = type !== WebInspector.projectTypes.Network ? (type + ":") : "";48 return typePrefix + name;49 }50 51 44 WebInspector.SimpleProjectDelegate.prototype = { 52 45 /** … … 55 48 id: function() 56 49 { 57 return WebInspector.SimpleProjectDelegate.projectId(this._name, this._type);50 return this._type; 58 51 }, 59 52 … … 71 64 displayName: function() 72 65 { 73 if (typeof this._displayName !== "undefined") 74 return this._displayName; 75 if (!this._name) { 76 this._displayName = ""; 77 return this._displayName; 78 } 79 var parsedURL = new WebInspector.ParsedURL(this._name); 80 if (parsedURL.isValid) 81 this._displayName = parsedURL.host + (parsedURL.port ? (":" + parsedURL.port) : ""); 82 else 83 this._displayName = this._name; 84 return this._displayName; 66 return ""; 85 67 }, 86 68 … … 106 88 107 89 /** 108 * @param {string} path109 90 * @param {string} query 110 91 * @param {boolean} caseSensitive … … 124 105 * @param {boolean} isEditable 125 106 * @param {boolean=} isContentScript 126 * @return {string}127 107 */ 128 108 addFile: function(path, forceUniquePath, url, contentProvider, isEditable, isContentScript) … … 130 110 if (forceUniquePath) 131 111 path = this._uniquePath(path); 112 console.assert(!this._contentProviders[path]); 132 113 var fileDescriptor = new WebInspector.FileDescriptor(path, url, url, contentProvider.contentType(), isEditable, isContentScript); 133 114 this._contentProviders[path] = contentProvider; … … 176 157 this._workspace = workspace; 177 158 this._type = type; 178 this._simpleProjectDelegates = {}; 159 this._simpleProjectDelegate = new WebInspector.SimpleProjectDelegate(this._type); 160 this._workspace.addProject(this._simpleProjectDelegate); 179 161 } 180 162 181 163 /** 182 164 * @param {string} url 183 * @return {Array.<string>}184 */185 WebInspector.SimpleWorkspaceProvider.splitURL = function(url)186 {187 var parsedURL = new WebInspector.ParsedURL(url);188 var origin;189 var folderPath;190 var name;191 if (parsedURL.isValid) {192 origin = parsedURL.scheme + "://" + parsedURL.host;193 if (parsedURL.port)194 origin += ":" + parsedURL.port;195 folderPath = parsedURL.folderPathComponents;196 name = parsedURL.lastPathComponent;197 if (parsedURL.queryParams)198 name += "?" + parsedURL.queryParams;199 } else {200 origin = "";201 folderPath = "";202 name = url;203 }204 var result = [origin];205 var splittedPath = folderPath.split("/");206 for (var i = 1; i < splittedPath.length; ++i)207 result.push(splittedPath[i]);208 result.push(name);209 return result;210 }211 212 /**213 * @param {Array.<string>} splittedURL214 165 * @return {string} 215 166 */ 216 WebInspector.SimpleWorkspaceProvider._pathForSplittedURL = function(splittedURL)217 {218 splittedURL.shift();219 return splittedURL.join("/");220 }221 222 /**223 * @param {string} url224 * @param {string} type225 * @return {string}226 */227 167 WebInspector.SimpleWorkspaceProvider.uriForURL = function(url, type) 228 { 229 var splittedURL = WebInspector.SimpleWorkspaceProvider.splitURL(url); 230 var projectId = WebInspector.SimpleProjectDelegate.projectId(splittedURL[0], type); 231 var path = WebInspector.SimpleWorkspaceProvider._pathForSplittedURL(splittedURL); 232 return WebInspector.UISourceCode.uri(projectId, path); 233 } 168 { 169 var uriTypePrefix = type !== WebInspector.projectTypes.Network ? (type + ":") : ""; 170 var uri = uriTypePrefix + url; 171 return uri; 172 } 234 173 235 174 WebInspector.SimpleWorkspaceProvider.prototype = { 236 175 /** 237 * @param {string} projectName 238 * @return {WebInspector.ProjectDelegate} 239 */ 240 _projectDelegate: function(projectName) 241 { 242 if (this._simpleProjectDelegates[projectName]) 243 return this._simpleProjectDelegates[projectName]; 244 var simpleProjectDelegate = new WebInspector.SimpleProjectDelegate(projectName, this._type); 245 this._simpleProjectDelegates[projectName] = simpleProjectDelegate; 246 this._workspace.addProject(simpleProjectDelegate); 247 return simpleProjectDelegate; 248 }, 249 250 /** 251 * @param {string} url 252 * @param {WebInspector.ContentProvider} contentProvider 253 * @param {boolean} isEditable 254 * @param {boolean=} isContentScript 255 * @return {WebInspector.UISourceCode} 176 * @param {string} url 177 * @param {WebInspector.ContentProvider} contentProvider 178 * @param {boolean} isEditable 179 * @param {boolean=} isContentScript 256 180 */ 257 181 addFileForURL: function(url, contentProvider, isEditable, isContentScript) … … 265 189 * @param {boolean} isEditable 266 190 * @param {boolean=} isContentScript 267 * @return {WebInspector.UISourceCode}268 191 */ 269 192 addUniqueFileForURL: function(url, contentProvider, isEditable, isContentScript) … … 276 199 * @param {WebInspector.ContentProvider} contentProvider 277 200 * @param {boolean} isEditable 278 * @param {boolean} forceUnique 279 * @param {boolean=} isContentScript 280 * @return {WebInspector.UISourceCode} 201 * @param {boolean=} isContentScript 281 202 */ 282 203 _innerAddFileForURL: function(url, contentProvider, isEditable, forceUnique, isContentScript) 283 204 { 284 var splittedURL = WebInspector.SimpleWorkspaceProvider.splitURL(url); 285 var projectName = splittedURL[0]; 286 var path = WebInspector.SimpleWorkspaceProvider._pathForSplittedURL(splittedURL); 287 return this._innerAddFile(projectName, path, url, contentProvider, isEditable, forceUnique, isContentScript); 288 }, 289 290 /** 291 * @param {string} projectName 292 * @param {string} name 293 * @param {WebInspector.ContentProvider} contentProvider 294 * @param {boolean} isEditable 295 * @param {boolean=} isContentScript 296 * @return {WebInspector.UISourceCode} 297 */ 298 addFileByName: function(projectName, name, contentProvider, isEditable, isContentScript) 299 { 300 return this._innerAddFile("", name, name, contentProvider, isEditable, false, isContentScript); 301 }, 302 303 /** 304 * @param {string} projectName 305 * @param {string} path 306 * @param {WebInspector.ContentProvider} contentProvider 307 * @param {boolean} isEditable 308 * @param {boolean} forceUnique 309 * @param {boolean=} isContentScript 310 * @return {WebInspector.UISourceCode} 311 */ 312 _innerAddFile: function(projectName, path, url, contentProvider, isEditable, forceUnique, isContentScript) 313 { 314 var projectDelegate = this._projectDelegate(projectName); 315 path = projectDelegate.addFile(path, forceUnique, url, contentProvider, isEditable, isContentScript); 316 return this._workspace.uiSourceCode(projectDelegate.id(), path); 317 }, 318 319 /** 320 * @param {string} projectName 321 * @param {string} path 322 */ 323 removeFileByName: function(projectName, path) 324 { 325 var projectDelegate = this._projectDelegate(projectName); 326 projectDelegate.removeFile(path); 205 var path = WebInspector.SimpleWorkspaceProvider.uriForURL(url, this._type); 206 path = this._simpleProjectDelegate.addFile(path, forceUnique, url, contentProvider, isEditable, isContentScript); 207 return this._workspace.uiSourceCode(this._simpleProjectDelegate.id(), path); 208 }, 209 210 /** 211 * @param {string} url 212 */ 213 removeFile: function(url) 214 { 215 var path = WebInspector.SimpleWorkspaceProvider.uriForURL(url, this._type); 216 this._simpleProjectDelegate.removeFile(path); 327 217 }, 328 218 329 219 reset: function() 330 220 { 331 for (var projectName in this._simpleProjectDelegates) 332 this._simpleProjectDelegates[projectName].reset(); 333 this._simpleProjectDelegates = {}; 221 this._simpleProjectDelegate.reset(); 334 222 }, 335 223 -
trunk/Source/WebCore/inspector/front-end/UISourceCode.js
r143100 r143174 82 82 } 83 83 84 /**85 * @param {string} projectId86 * @param {string} path87 * @return {string}88 */89 WebInspector.UISourceCode.uri = function(projectId, path)90 {91 if (!projectId)92 return path;93 if (!path)94 return projectId;95 return projectId + "/" + path;96 }97 98 /**99 * @param {string} projectId100 * @param {string} uri101 * @return {?string}102 */103 WebInspector.UISourceCode.path = function(projectId, uri)104 {105 if (!projectId)106 return uri;107 if (!uri.startsWith(projectId))108 return null;109 var path = uri.substr(projectId.length);110 if (path.length && path[0] === "/")111 path = path.substr(1);112 return path;113 }114 115 84 WebInspector.UISourceCode.prototype = { 116 85 /** … … 135 104 uri: function() 136 105 { 137 return WebInspector.UISourceCode.uri(this._project.id(), this._path);106 return this._path; 138 107 }, 139 108 -
trunk/Source/WebCore/inspector/front-end/Workspace.js
r143100 r143174 188 188 { 189 189 var fileDescriptor = /** @type {WebInspector.FileDescriptor} */ (event.data); 190 var uiSourceCode = this.uiSourceCode (fileDescriptor.path);190 var uiSourceCode = this.uiSourceCodeForURI(fileDescriptor.path); 191 191 if (uiSourceCode) { 192 192 // FIXME: Implement … … 202 202 { 203 203 var path = /** @type {string} */ (event.data); 204 var uiSourceCode = this.uiSourceCode (path);204 var uiSourceCode = this.uiSourceCodeForURI(path); 205 205 if (!uiSourceCode) 206 206 return; … … 244 244 uiSourceCodeForURI: function(uri) 245 245 { 246 var path = WebInspector.UISourceCode.path(this.id(), uri); 247 if (typeof path !== "string") 248 return null; 249 return this._uiSourceCodes[path]; 246 return this.uiSourceCode(uri); 250 247 }, 251 248 … … 299 296 Debugger: "debugger", 300 297 LiveEdit: "liveedit", 298 Compiler: "compiler", 301 299 Network: "network", 302 300 Snippets: "snippets", … … 444 442 }, 445 443 444 /** 445 * @return {?WebInspector.Project} 446 */ 447 projectForUISourceCode: function(uiSourceCode) 448 { 449 for (var projectId in this._projects) { 450 var project = this._projects[projectId]; 451 if (project.uiSourceCodeForURI(uiSourceCode.uri())) 452 return project; 453 } 454 return null; 455 }, 456 446 457 __proto__: WebInspector.Object.prototype 447 458 }
Note: See TracChangeset
for help on using the changeset viewer.