Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(586)

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/profiler/HeapSnapshotView.js

Issue 2954973002: DevTools -> Memory Tab -> Allowing to edit a title of a heap snapshot (Closed)
Patch Set: 'updating heap snapshot view on title change' Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 * * 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 589 matching lines...) Expand 10 before | Expand all | Expand 10 after
600 const multipleSnapshots = this._profiles().length > 1; 600 const multipleSnapshots = this._profiles().length > 1;
601 this._perspectiveSelect.removeOptions(); 601 this._perspectiveSelect.removeOptions();
602 this._perspectives.forEach((perspective, index) => { 602 this._perspectives.forEach((perspective, index) => {
603 if (multipleSnapshots || perspective !== this._comparisonPerspective) 603 if (multipleSnapshots || perspective !== this._comparisonPerspective)
604 this._perspectiveSelect.createOption(perspective.title(), '', String(ind ex)); 604 this._perspectiveSelect.createOption(perspective.title(), '', String(ind ex));
605 }); 605 });
606 } 606 }
607 607
608 _updateBaseOptions() { 608 _updateBaseOptions() {
609 var list = this._profiles(); 609 var list = this._profiles();
610 // We're assuming that snapshots can only be added. 610 this._baseSelect.removeOptions();
611 if (this._baseSelect.size() === list.length)
612 return;
613 611
614 for (var i = this._baseSelect.size(), n = list.length; i < n; ++i) { 612 for (var i = 0; i < list.length; ++i) {
alph 2017/07/07 22:37:25 nit: for (var item of list)
615 var title = list[i].title; 613 var title = list[i].title;
616 this._baseSelect.createOption(title); 614 this._baseSelect.createOption(title);
617 } 615 }
618 } 616 }
619 617
620 _updateFilterOptions() { 618 _updateFilterOptions() {
621 var list = this._profiles(); 619 var list = this._profiles();
622 // We're assuming that snapshots can only be added. 620 this._filterSelect.removeOptions();
alph 2017/07/07 22:37:25 This will kill the current selection, so the view
623 if (this._filterSelect.size() - 1 === list.length)
624 return;
625 621
626 if (!this._filterSelect.size()) 622 this._filterSelect.createOption(Common.UIString('All objects'));
627 this._filterSelect.createOption(Common.UIString('All objects'));
628 623
629 for (var i = this._filterSelect.size() - 1, n = list.length; i < n; ++i) { 624 for (var i = 0; i < list.length; ++i) {
630 var title = list[i].title; 625 var title = list[i].title;
631 if (!i) 626 if (!i)
632 title = Common.UIString('Objects allocated before %s', title); 627 title = Common.UIString('Objects allocated before %s', title);
alph 2017/07/07 22:37:25 nit: You can now move the custom 0-th item out of
633 else 628 else
634 title = Common.UIString('Objects allocated between %s and %s', list[i - 1].title, title); 629 title = Common.UIString('Objects allocated between %s and %s', list[i - 1].title, title);
635 this._filterSelect.createOption(title); 630 this._filterSelect.createOption(title);
636 } 631 }
637 } 632 }
638 633
639 _updateControls() { 634 _updateControls() {
640 this._updatePerspectiveOptions(); 635 this._updatePerspectiveOptions();
641 this._updateBaseOptions(); 636 this._updateBaseOptions();
642 this._updateFilterOptions(); 637 this._updateFilterOptions();
643 } 638 }
644 639
645 /** 640 /**
646 * @param {!Common.Event} event 641 * @param {!Common.Event} event
647 */ 642 */
648 _onReceiveSnapshot(event) { 643 _onReceiveSnapshot(event) {
649 this._updateControls(); 644 this._updateControls();
645 var profile = event.data;
646 profile.addEventListener(Profiler.ProfileHeader.Events.ProfileTitleChanged, this._updateControls, this);
650 } 647 }
651 648
652 /** 649 /**
653 * @param {!Common.Event} event 650 * @param {!Common.Event} event
654 */ 651 */
655 _onProfileHeaderRemoved(event) { 652 _onProfileHeaderRemoved(event) {
656 var profile = event.data; 653 var profile = event.data;
657 if (this._profile === profile) { 654 if (this._profile === profile) {
658 this.detach(); 655 this.detach();
659 this._profile.profileType().removeEventListener( 656 this._profile.profileType().removeEventListener(
660 Profiler.HeapSnapshotProfileType.SnapshotReceived, this._onReceiveSnap shot, this); 657 Profiler.HeapSnapshotProfileType.SnapshotReceived, this._onReceiveSnap shot, this);
661 this._profile.profileType().removeEventListener( 658 this._profile.profileType().removeEventListener(
662 Profiler.ProfileType.Events.RemoveProfileHeader, this._onProfileHeader Removed, this); 659 Profiler.ProfileType.Events.RemoveProfileHeader, this._onProfileHeader Removed, this);
660 this._profile.profileType().removeEventListener(
alph 2017/07/07 22:37:25 The listener had been set on the profile instance,
661 Profiler.ProfileHeader.Events.ProfileTitleChanged, this._updateControl s, this);
663 this.dispose(); 662 this.dispose();
664 } else { 663 } else {
665 this._updateControls(); 664 this._updateControls();
666 } 665 }
667 } 666 }
668 667
669 dispose() { 668 dispose() {
670 if (this._allocationStackView) { 669 if (this._allocationStackView) {
671 this._allocationStackView.clear(); 670 this._allocationStackView.clear();
672 this._allocationDataGrid.dispose(); 671 this._allocationDataGrid.dispose();
(...skipping 1388 matching lines...) Expand 10 before | Expand all | Expand 10 after
2061 frame.line - 1, frame.column - 1); 2060 frame.line - 1, frame.column - 1);
2062 frameDiv.appendChild(urlElement); 2061 frameDiv.appendChild(urlElement);
2063 } 2062 }
2064 } 2063 }
2065 2064
2066 clear() { 2065 clear() {
2067 this.element.removeChildren(); 2066 this.element.removeChildren();
2068 this._linkifier.reset(); 2067 this._linkifier.reset();
2069 } 2068 }
2070 }; 2069 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698