| OLD | NEW |
| 1 /** | 1 /** |
| 2 * Copyright (C) 2014 Google Inc. All rights reserved. | 2 * Copyright (C) 2014 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 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 colorGenerator.setColorForID("(program):", "hsl(0, 0%, 80%)"); | 372 colorGenerator.setColorForID("(program):", "hsl(0, 0%, 80%)"); |
| 373 colorGenerator.setColorForID("(garbage collector):", "hsl(0, 0%, 80%)"); | 373 colorGenerator.setColorForID("(garbage collector):", "hsl(0, 0%, 80%)"); |
| 374 WebInspector.CPUFlameChartDataProvider._colorGenerator = colorGenerator; | 374 WebInspector.CPUFlameChartDataProvider._colorGenerator = colorGenerator; |
| 375 } | 375 } |
| 376 return WebInspector.CPUFlameChartDataProvider._colorGenerator; | 376 return WebInspector.CPUFlameChartDataProvider._colorGenerator; |
| 377 } | 377 } |
| 378 | 378 |
| 379 | 379 |
| 380 /** | 380 /** |
| 381 * @constructor | 381 * @constructor |
| 382 * @implements {WebInspector.CPUProfileView.Searchable} |
| 382 * @extends {WebInspector.VBox} | 383 * @extends {WebInspector.VBox} |
| 383 * @param {!WebInspector.FlameChartDataProvider} dataProvider | 384 * @param {!WebInspector.FlameChartDataProvider} dataProvider |
| 384 */ | 385 */ |
| 385 WebInspector.CPUProfileFlameChart = function(dataProvider) | 386 WebInspector.CPUProfileFlameChart = function(dataProvider) |
| 386 { | 387 { |
| 387 WebInspector.VBox.call(this); | 388 WebInspector.VBox.call(this); |
| 388 this.element.id = "cpu-flame-chart"; | 389 this.element.id = "cpu-flame-chart"; |
| 389 | 390 |
| 390 this._overviewPane = new WebInspector.CPUProfileFlameChart.OverviewPane(data
Provider); | 391 this._overviewPane = new WebInspector.CPUProfileFlameChart.OverviewPane(data
Provider); |
| 391 this._overviewPane.show(this.element); | 392 this._overviewPane.show(this.element); |
| 392 | 393 |
| 393 this._mainPane = new WebInspector.FlameChart(dataProvider, this._overviewPan
e, true); | 394 this._mainPane = new WebInspector.FlameChart(dataProvider, this._overviewPan
e, true); |
| 394 this._mainPane.show(this.element); | 395 this._mainPane.show(this.element); |
| 395 this._mainPane.addEventListener(WebInspector.FlameChart.Events.EntrySelected
, this._onEntrySelected, this); | 396 this._mainPane.addEventListener(WebInspector.FlameChart.Events.EntrySelected
, this._onEntrySelected, this); |
| 396 this._overviewPane.addEventListener(WebInspector.OverviewGrid.Events.WindowC
hanged, this._onWindowChanged, this); | 397 this._overviewPane.addEventListener(WebInspector.OverviewGrid.Events.WindowC
hanged, this._onWindowChanged, this); |
| 398 this._dataProvider = dataProvider; |
| 399 this._searchResults = []; |
| 397 } | 400 } |
| 398 | 401 |
| 399 WebInspector.CPUProfileFlameChart.prototype = { | 402 WebInspector.CPUProfileFlameChart.prototype = { |
| 400 focus: function() | 403 focus: function() |
| 401 { | 404 { |
| 402 this._mainPane.focus(); | 405 this._mainPane.focus(); |
| 403 }, | 406 }, |
| 404 | 407 |
| 405 /** | 408 /** |
| 406 * @param {!WebInspector.Event} event | 409 * @param {!WebInspector.Event} event |
| (...skipping 21 matching lines...) Expand all Loading... |
| 428 { | 431 { |
| 429 this.dispatchEventToListeners(WebInspector.FlameChart.Events.EntrySelect
ed, event.data); | 432 this.dispatchEventToListeners(WebInspector.FlameChart.Events.EntrySelect
ed, event.data); |
| 430 }, | 433 }, |
| 431 | 434 |
| 432 update: function() | 435 update: function() |
| 433 { | 436 { |
| 434 this._overviewPane.update(); | 437 this._overviewPane.update(); |
| 435 this._mainPane.update(); | 438 this._mainPane.update(); |
| 436 }, | 439 }, |
| 437 | 440 |
| 441 /** |
| 442 * @param {!WebInspector.SearchableView.SearchConfig} searchConfig |
| 443 * @param {boolean} shouldJump |
| 444 * @param {boolean=} jumpBackwards |
| 445 * @return {number} |
| 446 */ |
| 447 performSearch: function(searchConfig, shouldJump, jumpBackwards) |
| 448 { |
| 449 var matcher = createPlainTextSearchRegex(searchConfig.query, searchConfi
g.caseSensitive ? "": "i"); |
| 450 |
| 451 var selectedEntryIndex = this._searchResultIndex !== -1 ? this._searchRe
sults[this._searchResultIndex] : -1; |
| 452 this._searchResults = []; |
| 453 var entriesCount = this._dataProvider._entryNodes.length; |
| 454 for(var index = 0; index < entriesCount; ++index) { |
| 455 if (this._dataProvider.entryTitle(index).match(matcher)) |
| 456 this._searchResults.push(index); |
| 457 } |
| 458 |
| 459 if (this._searchResults.length) { |
| 460 this._searchResultIndex = this._searchResults.indexOf(selectedEntryI
ndex); |
| 461 if (this._searchResultIndex === -1) |
| 462 this._searchResultIndex = jumpBackwards ? this._searchResults.le
ngth - 1 : 0; |
| 463 this._mainPane.setSelectedEntry(this._searchResults[this._searchResu
ltIndex]); |
| 464 } else |
| 465 this.searchCanceled(); |
| 466 |
| 467 return this._searchResults.length; |
| 468 }, |
| 469 |
| 470 searchCanceled: function() |
| 471 { |
| 472 this._mainPane.setSelectedEntry(-1); |
| 473 this._searchResults = []; |
| 474 this._searchResultIndex = -1; |
| 475 }, |
| 476 |
| 477 jumpToNextSearchResult: function() |
| 478 { |
| 479 this._searchResultIndex = (this._searchResultIndex + 1) % this._searchRe
sults.length; |
| 480 this._mainPane.setSelectedEntry(this._searchResults[this._searchResultIn
dex]); |
| 481 }, |
| 482 |
| 483 jumpToPreviousSearchResult: function() |
| 484 { |
| 485 this._searchResultIndex = (this._searchResultIndex - 1 + this._searchRes
ults.length) % this._searchResults.length; |
| 486 this._mainPane.setSelectedEntry(this._searchResults[this._searchResultIn
dex]); |
| 487 }, |
| 488 |
| 489 /** |
| 490 * @return {number} |
| 491 */ |
| 492 currentSearchResultIndex: function() |
| 493 { |
| 494 return this._searchResultIndex; |
| 495 }, |
| 496 |
| 438 __proto__: WebInspector.VBox.prototype | 497 __proto__: WebInspector.VBox.prototype |
| 439 }; | 498 }; |
| 440 | 499 |
| 441 /** | 500 /** |
| 442 * @constructor | 501 * @constructor |
| 443 * @implements {WebInspector.TimelineGrid.Calculator} | 502 * @implements {WebInspector.TimelineGrid.Calculator} |
| 444 */ | 503 */ |
| 445 WebInspector.CPUProfileFlameChart.OverviewCalculator = function() | 504 WebInspector.CPUProfileFlameChart.OverviewCalculator = function() |
| 446 { | 505 { |
| 447 } | 506 } |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 675 { | 734 { |
| 676 var ratio = window.devicePixelRatio; | 735 var ratio = window.devicePixelRatio; |
| 677 this._overviewCanvas.width = width * ratio; | 736 this._overviewCanvas.width = width * ratio; |
| 678 this._overviewCanvas.height = height * ratio; | 737 this._overviewCanvas.height = height * ratio; |
| 679 this._overviewCanvas.style.width = width + "px"; | 738 this._overviewCanvas.style.width = width + "px"; |
| 680 this._overviewCanvas.style.height = height + "px"; | 739 this._overviewCanvas.style.height = height + "px"; |
| 681 }, | 740 }, |
| 682 | 741 |
| 683 __proto__: WebInspector.VBox.prototype | 742 __proto__: WebInspector.VBox.prototype |
| 684 } | 743 } |
| OLD | NEW |