Changeset 140809 in webkit
- Timestamp:
- Jan 25, 2013 3:14:33 AM (11 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r140807 r140809 1 2013-01-25 Andrey Lushnikov <lushnikov@chromium.org> 2 3 Web Inspector: implement search for workspace sources 4 https://bugs.webkit.org/show_bug.cgi?id=107814 5 6 Reviewed by Pavel Feldman. 7 8 Implement generic WebInspector.ContentProvider.performSearchInContent method and use it in both 9 StaticContentProvider and fileSystemWorkspaceProvider. 10 11 No new tests. 12 13 * inspector/front-end/ContentProvider.js: 14 (WebInspector.ContentProvider.performSearchInContent): Added. 15 * inspector/front-end/ContentProviders.js: 16 (WebInspector.StaticContentProvider.prototype.): 17 (WebInspector.StaticContentProvider.prototype.searchInContent): 18 * inspector/front-end/FileSystemWorkspaceProvider.js: 19 (WebInspector.FileSystemWorkspaceProvider.prototype.contentCallback): 20 (WebInspector.FileSystemWorkspaceProvider.prototype.searchInFileContent): 21 1 22 2013-01-25 Elliott Sprehn <esprehn@gmail.com> 2 23 -
trunk/Source/WebCore/inspector/front-end/ContentProvider.js
r129625 r140809 68 68 this.lineContent = lineContent; 69 69 } 70 71 /** 72 * @param {string} content 73 * @param {string} query 74 * @param {boolean} caseSensitive 75 * @param {boolean} isRegex 76 * @return {Array.<WebInspector.ContentProvider.SearchMatch>} 77 */ 78 WebInspector.ContentProvider.performSearchInContent = function(content, query, caseSensitive, isRegex) 79 { 80 var regex = createSearchRegex(query, caseSensitive, isRegex); 81 82 var result = []; 83 var lineEndings = content.lineEndings(); 84 for (var i = 0; i < lineEndings.length; ++i) { 85 var lineStart = i > 0 ? lineEndings[i - 1] + 1 : 0; 86 var lineEnd = lineEndings[i]; 87 var lineContent = content.substring(lineStart, lineEnd); 88 if (lineContent.length > 0 && lineContent.charAt(lineContent.length - 1) === "\r") 89 lineContent = lineContent.substring(0, lineContent.length - 1) 90 91 if (regex.exec(lineContent)) 92 result.push(new WebInspector.ContentProvider.SearchMatch(i, lineContent)); 93 } 94 return result; 95 } -
trunk/Source/WebCore/inspector/front-end/ContentProviders.js
r130149 r140809 288 288 function performSearch() 289 289 { 290 var regex = createSearchRegex(query, caseSensitive, isRegex); 291 292 var result = []; 293 var lineEndings = this._content.lineEndings(); 294 for (var i = 0; i < lineEndings.length; ++i) { 295 var lineStart = i > 0 ? lineEndings[i - 1] + 1 : 0; 296 var lineEnd = lineEndings[i]; 297 var lineContent = this._content.substring(lineStart, lineEnd); 298 if (lineContent.length > 0 && lineContent.charAt(lineContent.length - 1) === "\r") 299 lineContent = lineContent.substring(0, lineContent.length - 1) 300 301 if (regex.exec(lineContent)) 302 result.push(new WebInspector.ContentProvider.SearchMatch(i, lineContent)); 303 } 304 callback(result); 290 callback(WebInspector.ContentProvider.performSearchInContent(this._content, query, caseSensitive, isRegex)); 305 291 } 306 292 -
trunk/Source/WebCore/inspector/front-end/FileSystemWorkspaceProvider.js
r140124 r140809 92 92 searchInFileContent: function(uri, query, caseSensitive, isRegex, callback) 93 93 { 94 callback([]); 94 this.requestFileContent(uri, contentCallback.bind(this)); 95 96 /** 97 * @param {?string} content 98 * @param {boolean} base64Encoded 99 * @param {string} mimeType 100 */ 101 function contentCallback(content, base64Encoded, mimeType) 102 { 103 var result = []; 104 if (content) 105 result = WebInspector.ContentProvider.performSearchInContent(content, query, caseSensitive, isRegex); 106 callback(result); 107 } 95 108 }, 96 109
Note: See TracChangeset
for help on using the changeset viewer.