 core/modules/editor/editor.module                       | 17 +++++++++++++++++
 core/modules/editor/src/Plugin/InPlaceEditor/Editor.php |  3 +--
 core/modules/quickedit/src/Annotation/InPlaceEditor.php |  8 --------
 core/modules/quickedit/src/EditorSelector.php           | 15 +--------------
 .../src/Plugin/InPlaceEditor/PlainTextEditor.php        | 11 +----------
 .../modules/src/Plugin/InPlaceEditor/WysiwygEditor.php  |  1 -
 .../Field/FieldFormatter/TextDefaultFormatter.php       |  3 ---
 7 files changed, 20 insertions(+), 38 deletions(-)

diff --git a/core/modules/editor/editor.module b/core/modules/editor/editor.module
index 1e645dd..b785947 100644
--- a/core/modules/editor/editor.module
+++ b/core/modules/editor/editor.module
@@ -65,6 +65,23 @@ function editor_element_info_alter(&$types) {
 }
 
 /**
+ * Implements hook_field_formatter_info_alter().
+ *
+ * @see quickedit_field_formatter_info_alter()
+ */
+function editor_field_formatter_info_alter(&$info) {
+  foreach ($info as $key => $settings) {
+    // Update \Drupal\text\Plugin\Field\FieldFormatter\TextDefaultFormatter's
+    // annotation to indicate that it supports the 'editor' in-place editor
+    // provided by this module.
+    if ($key === 'text_default') {
+      if (empty($settings['quickedit'])) {
+        $info[$key]['quickedit'] = ['editor' => 'editor'];
+      }
+    }
+  }
+}
+/**
  * Implements hook_form_FORM_ID_alter().
  */
 function editor_form_filter_admin_overview_alter(&$form, FormStateInterface $form_state) {
diff --git a/core/modules/editor/src/Plugin/InPlaceEditor/Editor.php b/core/modules/editor/src/Plugin/InPlaceEditor/Editor.php
index d56cfff..60cf7b5 100644
--- a/core/modules/editor/src/Plugin/InPlaceEditor/Editor.php
+++ b/core/modules/editor/src/Plugin/InPlaceEditor/Editor.php
@@ -16,8 +16,7 @@
  * Defines the formatted text in-place editor.
  *
  * @InPlaceEditor(
- *   id = "editor",
- *   alternativeTo = {"plain_text"}
+ *   id = "editor"
  * )
  */
 class Editor extends PluginBase implements InPlaceEditorInterface {
diff --git a/core/modules/quickedit/src/Annotation/InPlaceEditor.php b/core/modules/quickedit/src/Annotation/InPlaceEditor.php
index d90a2c8..a0aae52 100644
--- a/core/modules/quickedit/src/Annotation/InPlaceEditor.php
+++ b/core/modules/quickedit/src/Annotation/InPlaceEditor.php
@@ -33,14 +33,6 @@ class InPlaceEditor extends Plugin {
   public $id;
 
   /**
-   * An array of in-place editors plugin IDs that have registered themselves as
-   * alternatives to this in-place editor.
-   *
-   * @var array
-   */
-  public $alternativeTo;
-
-  /**
    * The name of the module providing the in-place editor plugin.
    *
    * @var string
diff --git a/core/modules/quickedit/src/EditorSelector.php b/core/modules/quickedit/src/EditorSelector.php
index 5e47cac..517a10e 100644
--- a/core/modules/quickedit/src/EditorSelector.php
+++ b/core/modules/quickedit/src/EditorSelector.php
@@ -55,21 +55,8 @@ public function __construct(PluginManagerInterface $editor_manager, FormatterPlu
    * {@inheritdoc}
    */
   public function getEditor($formatter_type, FieldItemListInterface $items) {
-    // Build a static cache of the editors that have registered themselves as
-    // alternatives to a certain editor.
-    if (!isset($this->alternatives)) {
-      $editors = $this->editorManager->getDefinitions();
-      foreach ($editors as $alternative_editor_id => $editor) {
-        if (isset($editor['alternativeTo'])) {
-          foreach ($editor['alternativeTo'] as $original_editor_id) {
-            $this->alternatives[$original_editor_id][] = $alternative_editor_id;
-          }
-        }
-      }
-    }
-
     // Check if the formatter defines an appropriate in-place editor. For
-    // example, text formatters displaying untrimmed text can choose to use the
+    // example, text formatters displaying plain text can choose to use the
     // 'plain_text' editor. If the formatter doesn't specify, fall back to the
     // 'form' editor, since that can work for any field. Formatter definitions
     // can use 'disabled' to explicitly opt out of in-place editing.
diff --git a/core/modules/quickedit/src/Plugin/InPlaceEditor/PlainTextEditor.php b/core/modules/quickedit/src/Plugin/InPlaceEditor/PlainTextEditor.php
index 4b24ac8..a3a8e73 100644
--- a/core/modules/quickedit/src/Plugin/InPlaceEditor/PlainTextEditor.php
+++ b/core/modules/quickedit/src/Plugin/InPlaceEditor/PlainTextEditor.php
@@ -26,16 +26,7 @@ public function isCompatible(FieldItemListInterface $items) {
     $field_definition = $items->getFieldDefinition();
 
     // This editor is incompatible with multivalued fields.
-    if ($field_definition->getFieldStorageDefinition()->getCardinality() != 1) {
-      return FALSE;
-    }
-    // This editor is incompatible with formatted ("rich") text fields.
-    elseif (in_array($field_definition->getType(), array('text', 'text_long', 'text_with_summary'), TRUE)) {
-      return FALSE;
-    }
-    else {
-      return TRUE;
-    }
+    return $field_definition->getFieldStorageDefinition()->getCardinality() != 1;
   }
 
   /**
diff --git a/core/modules/quickedit/tests/modules/src/Plugin/InPlaceEditor/WysiwygEditor.php b/core/modules/quickedit/tests/modules/src/Plugin/InPlaceEditor/WysiwygEditor.php
index 8727b63..64cbfad 100644
--- a/core/modules/quickedit/tests/modules/src/Plugin/InPlaceEditor/WysiwygEditor.php
+++ b/core/modules/quickedit/tests/modules/src/Plugin/InPlaceEditor/WysiwygEditor.php
@@ -15,7 +15,6 @@
  *
  * @InPlaceEditor(
  *   id = "wysiwyg",
- *   alternativeTo = {"plain_text"}
  * )
  */
 class WysiwygEditor extends InPlaceEditorBase {
diff --git a/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php b/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php
index 2990c99..f0f8e11 100644
--- a/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php
+++ b/core/modules/text/src/Plugin/Field/FieldFormatter/TextDefaultFormatter.php
@@ -20,9 +20,6 @@
  *     "text",
  *     "text_long",
  *     "text_with_summary",
- *   },
- *   quickedit = {
- *     "editor" = "plain_text"
  *   }
  * )
  */
