| 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)
|
| + this._applyFreeFlowStyleTextEdit();
|
| + },
|
| +
|
| _applyFreeFlowStyleTextEdit: function()
|
| {
|
| var valueText = this.valueElement.textContent;
|
|
|