OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 /** | 4 /** |
5 * @interface | 5 * @interface |
6 */ | 6 */ |
7 UI.View = function() {}; | 7 UI.View = function() {}; |
8 | 8 |
9 UI.View.prototype = { | 9 UI.View.prototype = { |
10 /** | 10 /** |
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
705 } | 705 } |
706 } else if (insertBefore) { | 706 } else if (insertBefore) { |
707 for (var i = 0; i < tabIds.length; ++i) { | 707 for (var i = 0; i < tabIds.length; ++i) { |
708 if (tabIds[i] === insertBefore.viewId()) { | 708 if (tabIds[i] === insertBefore.viewId()) { |
709 index = i; | 709 index = i; |
710 break; | 710 break; |
711 } | 711 } |
712 } | 712 } |
713 } | 713 } |
714 this._appendTab(view, index); | 714 this._appendTab(view, index); |
| 715 |
| 716 if (view.isCloseable()) { |
| 717 var tabs = this._closeableTabSetting.get(); |
| 718 var tabId = view.viewId(); |
| 719 if (!tabs[tabId]) { |
| 720 tabs[tabId] = true; |
| 721 this._closeableTabSetting.set(tabs); |
| 722 } |
| 723 } |
| 724 this._persistTabOrder(); |
715 } | 725 } |
716 | 726 |
717 /** | 727 /** |
718 * @override | 728 * @override |
719 * @param {!UI.View} view | 729 * @param {!UI.View} view |
720 * @param {?UI.View=} insertBefore | 730 * @param {?UI.View=} insertBefore |
721 * @param {boolean=} userGesture | 731 * @param {boolean=} userGesture |
722 * @return {!Promise} | 732 * @return {!Promise} |
723 */ | 733 */ |
724 showView(view, insertBefore, userGesture) { | 734 showView(view, insertBefore, userGesture) { |
(...skipping 18 matching lines...) Expand all Loading... |
743 this._tabbedPane.closeTab(view.viewId()); | 753 this._tabbedPane.closeTab(view.viewId()); |
744 } | 754 } |
745 | 755 |
746 /** | 756 /** |
747 * @param {!Common.Event} event | 757 * @param {!Common.Event} event |
748 */ | 758 */ |
749 _tabSelected(event) { | 759 _tabSelected(event) { |
750 var tabId = /** @type {string} */ (event.data.tabId); | 760 var tabId = /** @type {string} */ (event.data.tabId); |
751 if (this._lastSelectedTabSetting && event.data['isUserGesture']) | 761 if (this._lastSelectedTabSetting && event.data['isUserGesture']) |
752 this._lastSelectedTabSetting.set(tabId); | 762 this._lastSelectedTabSetting.set(tabId); |
753 var view = this._views.get(tabId); | |
754 if (!view) | |
755 return; | |
756 | |
757 if (view.isCloseable()) { | |
758 var tabs = this._closeableTabSetting.get(); | |
759 if (!tabs[tabId]) { | |
760 tabs[tabId] = true; | |
761 this._closeableTabSetting.set(tabs); | |
762 } | |
763 } | |
764 } | 763 } |
765 | 764 |
766 /** | 765 /** |
767 * @param {!Common.Event} event | 766 * @param {!Common.Event} event |
768 */ | 767 */ |
769 _tabClosed(event) { | 768 _tabClosed(event) { |
770 var id = /** @type {string} */ (event.data['tabId']); | 769 var id = /** @type {string} */ (event.data['tabId']); |
771 var tabs = this._closeableTabSetting.get(); | 770 var tabs = this._closeableTabSetting.get(); |
772 if (tabs[id]) { | 771 if (tabs[id]) { |
773 delete tabs[id]; | 772 delete tabs[id]; |
774 this._closeableTabSetting.set(tabs); | 773 this._closeableTabSetting.set(tabs); |
775 } | 774 } |
776 } | 775 } |
777 | 776 |
778 /** | 777 _persistTabOrder() { |
779 * @param {!Common.Event} event | |
780 */ | |
781 _persistTabOrder(event) { | |
782 var tabIds = this._tabbedPane.tabIds(); | 778 var tabIds = this._tabbedPane.tabIds(); |
783 var tabOrders = {}; | 779 var tabOrders = {}; |
784 for (var i = 0; i < tabIds.length; i++) | 780 for (var i = 0; i < tabIds.length; i++) |
785 tabOrders[tabIds[i]] = (i + 1) * UI.ViewManager._TabbedLocation.orderStep; | 781 tabOrders[tabIds[i]] = (i + 1) * UI.ViewManager._TabbedLocation.orderStep; |
786 this._tabOrderSetting.set(tabOrders); | 782 this._tabOrderSetting.set(tabOrders); |
787 } | 783 } |
788 }; | 784 }; |
789 | 785 |
790 UI.ViewManager._TabbedLocation.orderStep = 10; // Keep in sync with descriptors
. | 786 UI.ViewManager._TabbedLocation.orderStep = 10; // Keep in sync with descriptors
. |
791 | 787 |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
866 appendApplicableItems(locationName) { | 862 appendApplicableItems(locationName) { |
867 for (var view of this._manager._viewsForLocation(locationName)) | 863 for (var view of this._manager._viewsForLocation(locationName)) |
868 this.appendView(view); | 864 this.appendView(view); |
869 } | 865 } |
870 }; | 866 }; |
871 | 867 |
872 /** | 868 /** |
873 * @type {!UI.ViewManager} | 869 * @type {!UI.ViewManager} |
874 */ | 870 */ |
875 UI.viewManager; | 871 UI.viewManager; |
OLD | NEW |