OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * | 10 * |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 */ | 353 */ |
354 createAnchor: function(file, lineNumber) { }, | 354 createAnchor: function(file, lineNumber) { }, |
355 | 355 |
356 /** | 356 /** |
357 * @param {Object} file | 357 * @param {Object} file |
358 * @return {string} | 358 * @return {string} |
359 */ | 359 */ |
360 fileName: function(file) { }, | 360 fileName: function(file) { }, |
361 | 361 |
362 /** | 362 /** |
363 * @return {RegExp} | |
364 */ | |
365 _createSearchRegex: function() | |
366 { | |
367 var regexFlags = this._searchConfig.ignoreCase ? "gi" : "g"; | |
368 var regexObject; | |
369 try { | |
370 regexObject = new RegExp(this._searchConfig.query, regexFlags); | |
371 } catch (e) { | |
372 // Silent catch. | |
373 } | |
374 | |
375 if (!regexObject) | |
376 regexObject = createSearchRegex(this._searchConfig.query, regexFlags
); | |
377 | |
378 return regexObject; | |
379 }, | |
380 | |
381 /** | |
382 * @param {Object} searchResult | 363 * @param {Object} searchResult |
383 */ | 364 */ |
384 addSearchResult: function(searchResult) | 365 addSearchResult: function(searchResult) |
385 { | 366 { |
386 this._searchResults.push(searchResult); | 367 this._searchResults.push(searchResult); |
387 var file = searchResult.file; | 368 var file = searchResult.file; |
388 var fileName = this.fileName(file); | 369 var fileName = this.fileName(file); |
389 var searchMatches = searchResult.searchMatches; | 370 var searchMatches = searchResult.searchMatches; |
390 | 371 |
391 // Expand first file with matches only. | 372 // Expand first file with matches only. |
392 var fileTreeElement = this._addFileTreeElement(fileName, searchMatches.l
ength, this._searchResults.length === 1); | 373 var fileTreeElement = this._addFileTreeElement(fileName, searchMatches.l
ength, this._searchResults.length === 1); |
393 | 374 |
394 var regexObject = this._createSearchRegex(); | 375 var regexObject = createSearchRegex(this._searchConfig.query, !this._sea
rchConfig.ignoreCase, this._searchConfig.isRegex); |
395 for (var i = 0; i < searchMatches.length; i++) { | 376 for (var i = 0; i < searchMatches.length; i++) { |
396 var lineNumber = searchMatches[i].lineNumber; | 377 var lineNumber = searchMatches[i].lineNumber; |
397 | 378 |
398 var anchor = this.createAnchor(file, lineNumber); | 379 var anchor = this.createAnchor(file, lineNumber); |
399 | 380 |
400 var numberString = numberToStringWithSpacesPadding(lineNumber + 1, 4
); | 381 var numberString = numberToStringWithSpacesPadding(lineNumber + 1, 4
); |
401 var lineNumberSpan = document.createElement("span"); | 382 var lineNumberSpan = document.createElement("span"); |
402 lineNumberSpan.addStyleClass("webkit-line-number"); | 383 lineNumberSpan.addStyleClass("webkit-line-number"); |
403 lineNumberSpan.addStyleClass("search-match-line-number"); | 384 lineNumberSpan.addStyleClass("search-match-line-number"); |
404 lineNumberSpan.textContent = numberString; | 385 lineNumberSpan.textContent = numberString; |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 | 455 |
475 /** | 456 /** |
476 * @constructor | 457 * @constructor |
477 * @param {Object} file | 458 * @param {Object} file |
478 * @param {Array.<Object>} searchMatches | 459 * @param {Array.<Object>} searchMatches |
479 */ | 460 */ |
480 WebInspector.FileBasedSearchResultsPane.SearchResult = function(file, searchMatc
hes) { | 461 WebInspector.FileBasedSearchResultsPane.SearchResult = function(file, searchMatc
hes) { |
481 this.file = file; | 462 this.file = file; |
482 this.searchMatches = searchMatches; | 463 this.searchMatches = searchMatches; |
483 } | 464 } |
OLD | NEW |