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

Side by Side Diff: third_party/WebKit/Source/devtools/front_end/elements/StylesSidebarPane.js

Issue 2927573004: DevTools: migrate StylesSidebarPane to shadow (Closed)
Patch Set: with similarity 10 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) 2007 Apple Inc. All rights reserved. 2 * Copyright (C) 2007 Apple Inc. All rights reserved.
3 * Copyright (C) 2009 Joseph Pecoraro 3 * Copyright (C) 2009 Joseph Pecoraro
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 13 matching lines...) Expand all
24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 24 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30 Elements.StylesSidebarPane = class extends Elements.ElementsSidebarPane { 30 Elements.StylesSidebarPane = class extends Elements.ElementsSidebarPane {
31 constructor() { 31 constructor() {
32 super(); 32 super();
33 this.setMinimumSize(96, 26); 33 this.setMinimumSize(96, 26);
34 this.registerRequiredCSS('elements/stylesSidebarPane.css');
34 35
35 Common.moduleSetting('colorFormat').addChangeListener(this.update.bind(this) ); 36 Common.moduleSetting('colorFormat').addChangeListener(this.update.bind(this) );
36 Common.moduleSetting('textEditorIndent').addChangeListener(this.update.bind( this)); 37 Common.moduleSetting('textEditorIndent').addChangeListener(this.update.bind( this));
37 38
38 /** @type {?UI.Widget} */ 39 /** @type {?UI.Widget} */
39 this._currentToolbarPane = null; 40 this._currentToolbarPane = null;
40 /** @type {?UI.Widget} */ 41 /** @type {?UI.Widget} */
41 this._animatedToolbarPane = null; 42 this._animatedToolbarPane = null;
42 /** @type {?UI.Widget} */ 43 /** @type {?UI.Widget} */
43 this._pendingWidget = null; 44 this._pendingWidget = null;
44 /** @type {?UI.ToolbarToggle} */ 45 /** @type {?UI.ToolbarToggle} */
45 this._pendingWidgetToggle = null; 46 this._pendingWidgetToggle = null;
46 this._toolbarPaneElement = this._createStylesSidebarToolbar(); 47 this._toolbarPaneElement = this._createStylesSidebarToolbar();
47 this._sectionsContainer = this.element.createChild('div'); 48 this._sectionsContainer = this.contentElement.createChild('div');
48 this._swatchPopoverHelper = new InlineEditor.SwatchPopoverHelper(); 49 this._swatchPopoverHelper = new InlineEditor.SwatchPopoverHelper();
49 this._linkifier = new Components.Linkifier(Elements.StylesSidebarPane._maxLi nkLength, /* useLinkDecorator */ true); 50 this._linkifier = new Components.Linkifier(Elements.StylesSidebarPane._maxLi nkLength, /* useLinkDecorator */ true);
50 /** @type {?Elements.StylePropertyHighlighter} */ 51 /** @type {?Elements.StylePropertyHighlighter} */
51 this._decorator = null; 52 this._decorator = null;
52 this._userOperation = false; 53 this._userOperation = false;
53 this._isEditingStyle = false; 54 this._isEditingStyle = false;
54 /** @type {?RegExp} */ 55 /** @type {?RegExp} */
55 this._filterRegex = null; 56 this._filterRegex = null;
56 57
57 /** @type {?Elements.StylePropertyTreeElement} */ 58 /** @type {?Elements.StylePropertyTreeElement} */
58 this._mouseDownTreeElement = null; 59 this._mouseDownTreeElement = null;
59 this._mouseDownTreeElementIsName = false; 60 this._mouseDownTreeElementIsName = false;
60 this._mouseDownTreeElementIsValue = false; 61 this._mouseDownTreeElementIsValue = false;
61 62
62 this.element.classList.add('styles-pane'); 63 this.contentElement.classList.add('styles-pane');
63 64
64 /** @type {!Array<!Elements.SectionBlock>} */ 65 /** @type {!Array<!Elements.SectionBlock>} */
65 this._sectionBlocks = []; 66 this._sectionBlocks = [];
66 Elements.StylesSidebarPane._instance = this; 67 Elements.StylesSidebarPane._instance = this;
67 UI.context.addFlavorChangeListener(SDK.DOMNode, this.forceUpdate, this); 68 UI.context.addFlavorChangeListener(SDK.DOMNode, this.forceUpdate, this);
68 this.element.addEventListener('copy', this._clipboardCopy.bind(this)); 69 this.contentElement.addEventListener('copy', this._clipboardCopy.bind(this)) ;
69 this._resizeThrottler = new Common.Throttler(100); 70 this._resizeThrottler = new Common.Throttler(100);
70 } 71 }
71 72
72 /** 73 /**
73 * @param {!SDK.CSSProperty} property 74 * @param {!SDK.CSSProperty} property
74 * @return {!Element} 75 * @return {!Element}
75 */ 76 */
76 static createExclamationMark(property) { 77 static createExclamationMark(property) {
77 var exclamationElement = createElement('label', 'dt-icon-label'); 78 var exclamationElement = createElement('label', 'dt-icon-label');
78 exclamationElement.className = 'exclamation-mark'; 79 exclamationElement.className = 'exclamation-mark';
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 * @override 270 * @override
270 */ 271 */
271 onResize() { 272 onResize() {
272 this._resizeThrottler.schedule(this._innerResize.bind(this)); 273 this._resizeThrottler.schedule(this._innerResize.bind(this));
273 } 274 }
274 275
275 /** 276 /**
276 * @return {!Promise} 277 * @return {!Promise}
277 */ 278 */
278 _innerResize() { 279 _innerResize() {
279 var width = this.element.getBoundingClientRect().width + 'px'; 280 var width = this.contentElement.getBoundingClientRect().width + 'px';
280 this.allSections().forEach(section => section.propertiesTreeOutline.element. style.width = width); 281 this.allSections().forEach(section => section.propertiesTreeOutline.element. style.width = width);
281 return Promise.resolve(); 282 return Promise.resolve();
282 } 283 }
283 284
284 _resetCache() { 285 _resetCache() {
285 if (this.cssModel()) 286 if (this.cssModel())
286 this.cssModel().discardCachedMatchedCascade(); 287 this.cssModel().discardCachedMatchedCascade();
287 } 288 }
288 289
289 /** 290 /**
(...skipping 15 matching lines...) Expand all
305 return matchedStyles && matchedStyles.node() === this.node() ? matchedStyl es : null; 306 return matchedStyles && matchedStyles.node() === this.node() ? matchedStyl es : null;
306 } 307 }
307 } 308 }
308 309
309 /** 310 /**
310 * @param {boolean} editing 311 * @param {boolean} editing
311 */ 312 */
312 setEditingStyle(editing) { 313 setEditingStyle(editing) {
313 if (this._isEditingStyle === editing) 314 if (this._isEditingStyle === editing)
314 return; 315 return;
315 this.element.classList.toggle('is-editing-style', editing); 316 this.contentElement.classList.toggle('is-editing-style', editing);
316 this._isEditingStyle = editing; 317 this._isEditingStyle = editing;
317 } 318 }
318 319
319 /** 320 /**
320 * @override 321 * @override
321 * @param {!Common.Event=} event 322 * @param {!Common.Event=} event
322 */ 323 */
323 onCSSModelChanged(event) { 324 onCSSModelChanged(event) {
324 var edit = event && event.data ? /** @type {?SDK.CSSModel.Edit} */ (event.da ta.edit) : null; 325 var edit = event && event.data ? /** @type {?SDK.CSSModel.Edit} */ (event.da ta.edit) : null;
325 if (edit) { 326 if (edit) {
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 * @param {!Event} event 522 * @param {!Event} event
522 */ 523 */
523 _clipboardCopy(event) { 524 _clipboardCopy(event) {
524 Host.userMetrics.actionTaken(Host.UserMetrics.Action.StyleRuleCopied); 525 Host.userMetrics.actionTaken(Host.UserMetrics.Action.StyleRuleCopied);
525 } 526 }
526 527
527 /** 528 /**
528 * @return {!Element} 529 * @return {!Element}
529 */ 530 */
530 _createStylesSidebarToolbar() { 531 _createStylesSidebarToolbar() {
531 var container = this.element.createChild('div', 'styles-sidebar-pane-toolbar -container'); 532 var container = this.contentElement.createChild('div', 'styles-sidebar-pane- toolbar-container');
532 var hbox = container.createChild('div', 'hbox styles-sidebar-pane-toolbar'); 533 var hbox = container.createChild('div', 'hbox styles-sidebar-pane-toolbar');
533 var filterContainerElement = hbox.createChild('div', 'styles-sidebar-pane-fi lter-box'); 534 var filterContainerElement = hbox.createChild('div', 'styles-sidebar-pane-fi lter-box');
534 var filterInput = Elements.StylesSidebarPane.createPropertyFilterElement( 535 var filterInput = Elements.StylesSidebarPane.createPropertyFilterElement(
535 Common.UIString('Filter'), hbox, this._onFilterChanged.bind(this), 'styl es-filter-engaged'); 536 Common.UIString('Filter'), hbox, this._onFilterChanged.bind(this), 'styl es-filter-engaged');
536 UI.ARIAUtils.setAccessibleName(filterInput, Common.UIString('Filter Styles') ); 537 UI.ARIAUtils.setAccessibleName(filterInput, Common.UIString('Filter Styles') );
537 filterContainerElement.appendChild(filterInput); 538 filterContainerElement.appendChild(filterInput);
538 var toolbar = new UI.Toolbar('styles-pane-toolbar', hbox); 539 var toolbar = new UI.Toolbar('styles-pane-toolbar', hbox);
539 toolbar.makeToggledGray(); 540 toolbar.makeToggledGray();
540 toolbar.appendLocationItems('styles-sidebarpane-toolbar'); 541 toolbar.appendLocationItems('styles-sidebarpane-toolbar');
541 var toolbarPaneContainer = container.createChild('div', 'styles-sidebar-tool bar-pane-container'); 542 var toolbarPaneContainer = container.createChild('div', 'styles-sidebar-tool bar-pane-container');
(...skipping 2693 matching lines...) Expand 10 before | Expand all | Expand 10 after
3235 } 3236 }
3236 3237
3237 /** 3238 /**
3238 * @override 3239 * @override
3239 * @return {!UI.ToolbarItem} 3240 * @return {!UI.ToolbarItem}
3240 */ 3241 */
3241 item() { 3242 item() {
3242 return this._button; 3243 return this._button;
3243 } 3244 }
3244 }; 3245 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698