*/
WebInspector.InplaceEditor = function()
{
-};
+}
+
+/**
+ * @typedef {{cancel: function(), commit: function(), setWidth: function(number)}}
+ */
+WebInspector.InplaceEditor.Controller;
/**
* @param {!Element} element
* @param {!WebInspector.InplaceEditor.Config=} config
- * @return {?{cancel: function(), commit: function(), setWidth: function(number)}}
+ * @return {?WebInspector.InplaceEditor.Controller}
*/
WebInspector.InplaceEditor.startEditing = function(element, config)
{
- if (config.multiline)
- return self.runtime.instance(WebInspector.InplaceEditor).startEditing(element, config);
-
if (!WebInspector.InplaceEditor._defaultInstance)
WebInspector.InplaceEditor._defaultInstance = new WebInspector.InplaceEditor();
return WebInspector.InplaceEditor._defaultInstance.startEditing(element, config);
}
+/**
+ * @param {!Element} element
+ * @param {!WebInspector.InplaceEditor.Config=} config
+ * @return {!Promise.<!WebInspector.InplaceEditor.Controller>}
+ */
+WebInspector.InplaceEditor.startMultilineEditing = function(element, config)
+{
+ return self.runtime.instancePromise(WebInspector.InplaceEditor).then(startEditing);
+
+ /**
+ * @param {!Object} inplaceEditor
+ * @return {!WebInspector.InplaceEditor.Controller|!Promise.<!WebInspector.InplaceEditor.Controller>}
+ */
+ function startEditing(inplaceEditor)
+ {
+ var controller = /** @type {!WebInspector.InplaceEditor} */ (inplaceEditor).startEditing(element, config);
+ if (!controller)
+ return Promise.rejectWithError("Editing is already in progress");
+ return controller;
+ }
+}
+
WebInspector.InplaceEditor.prototype = {
/**
* @return {string}
/**
* @param {!Element} element
* @param {!WebInspector.InplaceEditor.Config=} config
- * @return {?{cancel: function(), commit: function()}}
+ * @return {?WebInspector.InplaceEditor.Controller}
*/
startEditing: function(element, config)
{
var handle = {
cancel: editingCancelled.bind(element),
- commit: editingCommitted.bind(element)
+ commit: editingCommitted.bind(element),
+ setWidth: function() {}
};
this.augmentEditingHandle(editingContext, handle);
return handle;