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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/sources/WatchExpressionsSidebarPane.js

Issue 2902543002: DevTools: migrate WatchExpressionsSidebarPane to shadow (Closed)
Patch Set: rebase Created 3 years, 6 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) IBM Corp. 2009 All rights reserved. 2 * Copyright (C) IBM Corp. 2009 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 17 matching lines...) Expand all
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 /** 30 /**
31 * @implements {UI.ActionDelegate} 31 * @implements {UI.ActionDelegate}
32 * @implements {UI.ToolbarItem.ItemsProvider} 32 * @implements {UI.ToolbarItem.ItemsProvider}
33 * @implements {UI.ContextMenu.Provider} 33 * @implements {UI.ContextMenu.Provider}
34 * @unrestricted 34 * @unrestricted
35 */ 35 */
36 Sources.WatchExpressionsSidebarPane = class extends UI.ThrottledWidget { 36 Sources.WatchExpressionsSidebarPane = class extends UI.ThrottledWidget {
37 constructor() { 37 constructor() {
38 super(); 38 super(true);
39 this.registerRequiredCSS('object_ui/objectValue.css'); 39 this.registerRequiredCSS('object_ui/objectValue.css');
40 this.registerRequiredCSS('sources/watchExpressionsSidebarPane.css');
40 41
41 /** @type {!Array.<!Sources.WatchExpression>} */ 42 /** @type {!Array.<!Sources.WatchExpression>} */
42 this._watchExpressions = []; 43 this._watchExpressions = [];
43 this._watchExpressionsSetting = Common.settings.createLocalSetting('watchExp ressions', []); 44 this._watchExpressionsSetting = Common.settings.createLocalSetting('watchExp ressions', []);
44 45
45 this._addButton = new UI.ToolbarButton(Common.UIString('Add expression'), 'l argeicon-add'); 46 this._addButton = new UI.ToolbarButton(Common.UIString('Add expression'), 'l argeicon-add');
46 this._addButton.addEventListener(UI.ToolbarButton.Events.Click, this._addBut tonClicked.bind(this)); 47 this._addButton.addEventListener(UI.ToolbarButton.Events.Click, this._addBut tonClicked.bind(this));
47 this._refreshButton = new UI.ToolbarButton(Common.UIString('Refresh'), 'larg eicon-refresh'); 48 this._refreshButton = new UI.ToolbarButton(Common.UIString('Refresh'), 'larg eicon-refresh');
48 this._refreshButton.addEventListener(UI.ToolbarButton.Events.Click, this.upd ate, this); 49 this._refreshButton.addEventListener(UI.ToolbarButton.Events.Click, this.upd ate, this);
49 50
50 this._bodyElement = this.element.createChild('div', 'vbox watch-expressions' ); 51 this.contentElement.classList.add('watch-expressions');
51 this._bodyElement.addEventListener('contextmenu', this._contextMenu.bind(thi s), false); 52 this.contentElement.addEventListener('contextmenu', this._contextMenu.bind(t his), false);
52 this._expandController = new ObjectUI.ObjectPropertiesSectionExpandControlle r(); 53 this._expandController = new ObjectUI.ObjectPropertiesSectionExpandControlle r();
53 54
54 UI.context.addFlavorChangeListener(SDK.ExecutionContext, this.update, this); 55 UI.context.addFlavorChangeListener(SDK.ExecutionContext, this.update, this);
55 UI.context.addFlavorChangeListener(SDK.DebuggerModel.CallFrame, this.update, this); 56 UI.context.addFlavorChangeListener(SDK.DebuggerModel.CallFrame, this.update, this);
56 this._linkifier = new Components.Linkifier(); 57 this._linkifier = new Components.Linkifier();
57 this.update(); 58 this.update();
58 } 59 }
59 60
60 /** 61 /**
61 * @override 62 * @override
(...skipping 24 matching lines...) Expand all
86 UI.viewManager.showView('sources.watch'); 87 UI.viewManager.showView('sources.watch');
87 this._createWatchExpression(null).startEditing(); 88 this._createWatchExpression(null).startEditing();
88 } 89 }
89 90
90 /** 91 /**
91 * @override 92 * @override
92 * @return {!Promise.<?>} 93 * @return {!Promise.<?>}
93 */ 94 */
94 doUpdate() { 95 doUpdate() {
95 this._linkifier.reset(); 96 this._linkifier.reset();
96 this._bodyElement.removeChildren(); 97 this.contentElement.removeChildren();
97 this._watchExpressions = []; 98 this._watchExpressions = [];
98 this._emptyElement = this._bodyElement.createChild('div', 'gray-info-message '); 99 this._emptyElement = this.contentElement.createChild('div', 'gray-info-messa ge');
99 this._emptyElement.textContent = Common.UIString('No Watch Expressions'); 100 this._emptyElement.textContent = Common.UIString('No Watch Expressions');
100 var watchExpressionStrings = this._watchExpressionsSetting.get(); 101 var watchExpressionStrings = this._watchExpressionsSetting.get();
101 for (var i = 0; i < watchExpressionStrings.length; ++i) { 102 for (var i = 0; i < watchExpressionStrings.length; ++i) {
102 var expression = watchExpressionStrings[i]; 103 var expression = watchExpressionStrings[i];
103 if (!expression) 104 if (!expression)
104 continue; 105 continue;
105 106
106 this._createWatchExpression(expression); 107 this._createWatchExpression(expression);
107 } 108 }
108 return Promise.resolve(); 109 return Promise.resolve();
109 } 110 }
110 111
111 /** 112 /**
112 * @param {?string} expression 113 * @param {?string} expression
113 * @return {!Sources.WatchExpression} 114 * @return {!Sources.WatchExpression}
114 */ 115 */
115 _createWatchExpression(expression) { 116 _createWatchExpression(expression) {
116 this._emptyElement.classList.add('hidden'); 117 this._emptyElement.classList.add('hidden');
117 var watchExpression = new Sources.WatchExpression(expression, this._expandCo ntroller, this._linkifier); 118 var watchExpression = new Sources.WatchExpression(expression, this._expandCo ntroller, this._linkifier);
118 watchExpression.addEventListener( 119 watchExpression.addEventListener(
119 Sources.WatchExpression.Events.ExpressionUpdated, this._watchExpressionU pdated, this); 120 Sources.WatchExpression.Events.ExpressionUpdated, this._watchExpressionU pdated, this);
120 this._bodyElement.appendChild(watchExpression.element()); 121 this.contentElement.appendChild(watchExpression.element());
121 this._watchExpressions.push(watchExpression); 122 this._watchExpressions.push(watchExpression);
122 return watchExpression; 123 return watchExpression;
123 } 124 }
124 125
125 /** 126 /**
126 * @param {!Common.Event} event 127 * @param {!Common.Event} event
127 */ 128 */
128 _watchExpressionUpdated(event) { 129 _watchExpressionUpdated(event) {
129 var watchExpression = /** @type {!Sources.WatchExpression} */ (event.data); 130 var watchExpression = /** @type {!Sources.WatchExpression} */ (event.data);
130 if (!watchExpression.expression()) { 131 if (!watchExpression.expression()) {
131 this._watchExpressions.remove(watchExpression); 132 this._watchExpressions.remove(watchExpression);
132 this._bodyElement.removeChild(watchExpression.element()); 133 this.contentElement.removeChild(watchExpression.element());
133 this._emptyElement.classList.toggle('hidden', !!this._watchExpressions.len gth); 134 this._emptyElement.classList.toggle('hidden', !!this._watchExpressions.len gth);
134 } 135 }
135 136
136 this._saveExpressions(); 137 this._saveExpressions();
137 } 138 }
138 139
139 /** 140 /**
140 * @param {!Event} event 141 * @param {!Event} event
141 */ 142 */
142 _contextMenu(event) { 143 _contextMenu(event) {
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 InspectorFrontendHost.copyText(this._valueElement.textContent); 422 InspectorFrontendHost.copyText(this._valueElement.textContent);
422 } 423 }
423 }; 424 };
424 425
425 Sources.WatchExpression._watchObjectGroupId = 'watch-group'; 426 Sources.WatchExpression._watchObjectGroupId = 'watch-group';
426 427
427 /** @enum {symbol} */ 428 /** @enum {symbol} */
428 Sources.WatchExpression.Events = { 429 Sources.WatchExpression.Events = {
429 ExpressionUpdated: Symbol('ExpressionUpdated') 430 ExpressionUpdated: Symbol('ExpressionUpdated')
430 }; 431 };
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/devtools/BUILD.gn ('k') | third_party/WebKit/Source/devtools/front_end/sources/module.json » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698