Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / devtools / front_end / ui / InplaceEditor.js
index 3a8b057..10cf3a1 100644 (file)
@@ -7,23 +7,47 @@
  */
 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}
@@ -77,7 +101,7 @@ WebInspector.InplaceEditor.prototype = {
     /**
      * @param {!Element} element
      * @param {!WebInspector.InplaceEditor.Config=} config
-     * @return {?{cancel: function(), commit: function()}}
+     * @return {?WebInspector.InplaceEditor.Controller}
      */
     startEditing: function(element, config)
     {
@@ -193,7 +217,8 @@ WebInspector.InplaceEditor.prototype = {
 
         var handle = {
             cancel: editingCancelled.bind(element),
-            commit: editingCommitted.bind(element)
+            commit: editingCommitted.bind(element),
+            setWidth: function() {}
         };
         this.augmentEditingHandle(editingContext, handle);
         return handle;