Chromium Code Reviews| Index: Source/devtools/front_end/elements/StylesSidebarPane.js |
| diff --git a/Source/devtools/front_end/elements/StylesSidebarPane.js b/Source/devtools/front_end/elements/StylesSidebarPane.js |
| index 61ef8be74c9cd835149705f97a9f844141015fa3..4c3593ee5678ab56e6708e5ef77fcd36c6f99c2c 100644 |
| --- a/Source/devtools/front_end/elements/StylesSidebarPane.js |
| +++ b/Source/devtools/front_end/elements/StylesSidebarPane.js |
| @@ -2679,6 +2679,9 @@ WebInspector.StylePropertyTreeElement = function(stylesPane, styleRule, style, p |
| this._applyStyleThrottler = new WebInspector.Throttler(0); |
| } |
| +/** @typedef {{expanded: boolean, hasChildren: boolean, isEditingName: boolean, previousContent: string}} */ |
| +WebInspector.StylePropertyTreeElement.Context; |
| + |
| WebInspector.StylePropertyTreeElement.prototype = { |
| /** |
| * @return {?WebInspector.DOMNode} |
| @@ -2944,6 +2947,7 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| return splitFieldValue.join(""); |
| } |
| + /** @type {!WebInspector.StylePropertyTreeElement.Context} */ |
| var context = { |
| expanded: this.expanded, |
| hasChildren: this.hasChildren, |
| @@ -2959,6 +2963,8 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| selectElement.textContent = selectElement.textContent; // remove color swatch and the like |
| /** |
| + * @param {!WebInspector.StylePropertyTreeElement.Context} context |
| + * @param {!Event} event |
| * @this {WebInspector.StylePropertyTreeElement} |
| */ |
| function pasteHandler(context, event) |
| @@ -2989,6 +2995,8 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| } |
| /** |
| + * @param {!WebInspector.StylePropertyTreeElement.Context} context |
| + * @param {!Event} event |
| * @this {WebInspector.StylePropertyTreeElement} |
| */ |
| function blurListener(context, event) |
| @@ -3019,20 +3027,24 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| } |
| var proxyElement = this._prompt.attachAndStartEditing(selectElement, blurListener.bind(this, context)); |
| - proxyElement.addEventListener("keydown", this.editingNameValueKeyDown.bind(this, context), false); |
| - proxyElement.addEventListener("keypress", this.editingNameValueKeyPress.bind(this, context), false); |
| + proxyElement.addEventListener("keydown", this._editingNameValueKeyDown.bind(this, context), false); |
| + proxyElement.addEventListener("keypress", this._editingNameValueKeyPress.bind(this, context), false); |
| + proxyElement.addEventListener("input", this._editingNameValueInput.bind(this, context), false); |
| if (isEditingName) |
| proxyElement.addEventListener("paste", pasteHandler.bind(this, context), false); |
| window.getSelection().setBaseAndExtent(selectElement, 0, selectElement, 1); |
| }, |
| - editingNameValueKeyDown: function(context, event) |
| + /** |
| + * @param {!WebInspector.StylePropertyTreeElement.Context} context |
| + * @param {!Event} event |
| + */ |
| + _editingNameValueKeyDown: function(context, event) |
| { |
| if (event.handled) |
| return; |
| - var isEditingName = context.isEditingName; |
| var result; |
| if (isEnterKey(event)) { |
| @@ -3040,7 +3052,7 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| result = "forward"; |
| } else if (event.keyCode === WebInspector.KeyboardShortcut.Keys.Esc.code || event.keyIdentifier === "U+001B") |
| result = "cancel"; |
| - else if (!isEditingName && this._newProperty && event.keyCode === WebInspector.KeyboardShortcut.Keys.Backspace.code) { |
| + else if (!context.isEditingName && this._newProperty && event.keyCode === WebInspector.KeyboardShortcut.Keys.Backspace.code) { |
| // For a new property, when Backspace is pressed at the beginning of new property value, move back to the property name. |
| var selection = window.getSelection(); |
| if (selection.isCollapsed && !selection.focusOffset) { |
| @@ -3066,12 +3078,13 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| event.consume(); |
| return; |
| } |
| - |
| - if (!isEditingName) |
| - this._applyFreeFlowStyleTextEdit(); |
| }, |
| - editingNameValueKeyPress: function(context, event) |
| + /** |
| + * @param {!WebInspector.StylePropertyTreeElement.Context} context |
| + * @param {!Event} event |
| + */ |
| + _editingNameValueKeyPress: function(context, event) |
| { |
| function shouldCommitValueSemicolon(text, cursorPosition) |
| { |
| @@ -3099,6 +3112,16 @@ WebInspector.StylePropertyTreeElement.prototype = { |
| } |
| }, |
| + /** |
| + * @param {!WebInspector.StylePropertyTreeElement.Context} context |
| + * @param {!Event} event |
| + */ |
| + _editingNameValueInput: function(context, event) |
| + { |
| + if (!context.isEditingName) |
|
apavlov
2014/10/13 13:39:48
You may want to check that the value has actually
lushnikov
2014/10/13 14:38:23
The check is performed in the innerApplyStyleText
|
| + this._applyFreeFlowStyleTextEdit(); |
| + }, |
| + |
| _applyFreeFlowStyleTextEdit: function() |
| { |
| var valueText = this.valueElement.textContent; |