 .../editor/js/editor.formattedTextEditor.js        |  10 +-
 ...est.php => QuickEditIntegrationLoadingTest.php} |   0
 ...rationTest.php => QuickEditIntegrationTest.php} |   0
 .../css/quickedit.icons.css}                       |  32 ++---
 .../css/quickedit.module.css}                      |  51 +++----
 .../css/quickedit.theme.css}                       | 106 +++++++-------
 .../{edit => quickedit}/images/icon-throbber.gif   |   0
 .../{edit => quickedit}/js/editors/formEditor.js   |  42 +++---
 .../js/editors/plainTextEditor.js                  |   6 +-
 .../{edit => quickedit}/js/models/AppModel.js      |  13 +-
 .../{edit => quickedit}/js/models/BaseModel.js     |   2 +-
 .../{edit => quickedit}/js/models/EditorModel.js   |   4 +-
 .../{edit => quickedit}/js/models/EntityModel.js   |  68 ++++-----
 .../{edit => quickedit}/js/models/FieldModel.js    |  28 ++--
 .../{edit/js/edit.js => quickedit/js/quickedit.js} | 157 +++++++++++----------
 core/modules/{edit => quickedit}/js/theme.js       |  58 ++++----
 core/modules/{edit => quickedit}/js/util.js        |  47 +++---
 .../{edit => quickedit}/js/views/AppView.js        |  57 ++++----
 .../js/views/ContextualLinkView.js                 |   6 +-
 .../{edit => quickedit}/js/views/EditorView.js     |  80 ++++++-----
 .../js/views/EntityDecorationView.js               |   4 +-
 .../js/views/EntityToolbarView.js                  |  62 ++++----
 .../js/views/FieldDecorationView.js                |  58 ++++----
 .../js/views/FieldToolbarView.js                   |  38 ++---
 .../quickedit}/Access/EditEntityAccessCheck.php    |   0
 .../Access/EditEntityFieldAccessCheck.php          |   0
 .../Access/EditEntityFieldAccessCheckInterface.php |   0
 .../lib/Drupal/quickedit}/Ajax/BaseCommand.php     |   0
 .../Drupal/quickedit}/Ajax/EntitySavedCommand.php  |   2 +-
 .../Drupal/quickedit}/Ajax/FieldFormCommand.php    |   5 +-
 .../quickedit}/Ajax/FieldFormSavedCommand.php      |   4 +-
 .../Ajax/FieldFormValidationErrorsCommand.php      |   2 +-
 .../Drupal/quickedit}/Annotation/InPlaceEditor.php |   0
 .../lib/Drupal/quickedit}/EditorSelector.php       |   0
 .../Drupal/quickedit}/EditorSelectorInterface.php  |   0
 .../Drupal/quickedit/Form/QuickEditFieldForm.php}  |   2 +-
 .../lib/Drupal/quickedit}/MetadataGenerator.php    |   0
 .../quickedit}/MetadataGeneratorInterface.php      |   0
 .../quickedit}/Plugin/InPlaceEditor/FormEditor.php |   0
 .../Plugin/InPlaceEditor/PlainTextEditor.php       |   0
 .../Drupal/quickedit}/Plugin/InPlaceEditorBase.php |   0
 .../quickedit}/Plugin/InPlaceEditorInterface.php   |   0
 .../quickedit}/Plugin/InPlaceEditorManager.php     |   0
 .../lib/Drupal/quickedit/QuickEditController.php}  |   2 +-
 .../quickedit}/Tests/EditorSelectionTest.php       |   2 +-
 .../quickedit}/Tests/MetadataGeneratorTest.php     |   0
 .../Tests/QuickEditAutocompleteTermTest.php}       |  14 +-
 .../quickedit/Tests/QuickEditLoadingTest.php}      | 113 +++++++--------
 .../Drupal/quickedit/Tests/QuickEditTestBase.php}  |   2 +-
 .../edit.api.php => quickedit/quickedit.api.php}   |   0
 .../edit.info.yml => quickedit/quickedit.info.yml} |   0
 .../quickedit.libraries.yml}                       |   0
 .../edit.module => quickedit/quickedit.module}     |   4 +-
 .../quickedit.routing.yml}                         |   8 +-
 .../quickedit.services.yml}                        |   0
 .../Tests/Access/EditEntityAccessCheckTest.php     |   0
 .../Access/EditEntityFieldAccessCheckTest.php      |   0
 .../MockEditEntityFieldAccessCheck.php             |   0
 .../Plugin/InPlaceEditor/WysiwygEditor.php         |   0
 .../tests/modules/quickedit_test.info.yml}         |   0
 .../tests/modules/quickedit_test.module}           |   0
 core/themes/seven/{edit.css => quickedit.css}      |  32 ++---
 62 files changed, 567 insertions(+), 554 deletions(-)

diff --git a/core/modules/editor/js/editor.formattedTextEditor.js b/core/modules/editor/js/editor.formattedTextEditor.js
index 900125c..29d7eb3 100644
--- a/core/modules/editor/js/editor.formattedTextEditor.js
+++ b/core/modules/editor/js/editor.formattedTextEditor.js
@@ -14,7 +14,7 @@
 
   "use strict";
 
-  Drupal.edit.editors.editor = Drupal.edit.EditorView.extend({
+  Drupal.quickedit.editors.editor = Drupal.quickedit.EditorView.extend({
 
     // The text format for this field.
     textFormat: null,
@@ -32,9 +32,9 @@
      * {@inheritdoc}
      */
     initialize: function (options) {
-      Drupal.edit.EditorView.prototype.initialize.call(this, options);
+      Drupal.quickedit.EditorView.prototype.initialize.call(this, options);
 
-      var metadata = Drupal.edit.metadata.get(this.fieldModel.get('fieldID'), 'custom');
+      var metadata = Drupal.quickedit.metadata.get(this.fieldModel.get('fieldID'), 'custom');
       this.textFormat = drupalSettings.editor.formats[metadata.format];
       this.textFormatHasTransformations = metadata.formatHasTransformations;
       this.textEditor = Drupal.editors[this.textFormat.editor];
@@ -137,7 +137,7 @@
     /**
      * {@inheritdoc}
      */
-    getEditUISettings: function () {
+    getQuickEditUISettings: function () {
       return { padding: true, unifiedToolbar: true, fullWidthToolbar: true, popup: false };
     },
 
@@ -164,7 +164,7 @@
 
       // Create a Drupal.ajax instance to load the form.
       var textLoaderAjax = new Drupal.ajax(fieldID, this.$el, {
-        url: Drupal.edit.util.buildUrl(fieldID, Drupal.url('editor/!entity_type/!id/!field_name/!langcode/!view_mode')),
+        url: Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('editor/!entity_type/!id/!field_name/!langcode/!view_mode')),
         event: 'editor-internal.editor',
         submit: { nocssjs: true },
         progress: { type: null } // No progress indicator.
diff --git a/core/modules/editor/lib/Drupal/editor/Tests/EditIntegrationLoadingTest.php b/core/modules/editor/lib/Drupal/editor/Tests/QuickEditIntegrationLoadingTest.php
similarity index 100%
rename from core/modules/editor/lib/Drupal/editor/Tests/EditIntegrationLoadingTest.php
rename to core/modules/editor/lib/Drupal/editor/Tests/QuickEditIntegrationLoadingTest.php
diff --git a/core/modules/editor/lib/Drupal/editor/Tests/EditIntegrationTest.php b/core/modules/editor/lib/Drupal/editor/Tests/QuickEditIntegrationTest.php
similarity index 100%
rename from core/modules/editor/lib/Drupal/editor/Tests/EditIntegrationTest.php
rename to core/modules/editor/lib/Drupal/editor/Tests/QuickEditIntegrationTest.php
diff --git a/core/modules/edit/css/edit.icons.css b/core/modules/quickedit/css/quickedit.icons.css
similarity index 66%
rename from core/modules/edit/css/edit.icons.css
rename to core/modules/quickedit/css/quickedit.icons.css
index 6b929f7..87fab70 100644
--- a/core/modules/edit/css/edit.icons.css
+++ b/core/modules/quickedit/css/quickedit.icons.css
@@ -1,24 +1,24 @@
 /**
  * @file
- * Icons for edit module.
+ * Icons for Quick Edit module.
  */
 
-.edit .icon {
+.quickedit .icon {
   min-height: 1em;
   min-width: 2.5em;
   position: relative;
 }
-.edit .icon.icon-only {
+.quickedit .icon.icon-only {
   text-indent: -9999px;
 }
-.edit .icon.icon-end {
+.quickedit .icon.icon-end {
   padding-right: 2.5em; /* LTR */
 }
-[dir="rtl"] .edit .icon.icon-end {
+[dir="rtl"] .quickedit .icon.icon-end {
   padding-left: 2.5em;
   padding-right: 0;
 }
-.edit .icon:before {
+.quickedit .icon:before {
   background-attachment: scroll;
   background-color: transparent;
   background-position: center center;
@@ -31,23 +31,23 @@
   top: 0;
   width: 100%;
 }
-[dir="rtl"] .edit .icon:before {
+[dir="rtl"] .quickedit .icon:before {
   left: auto;
   right: 0;
 }
-.edit .icon-end:before {
+.quickedit .icon-end:before {
   left: auto; /* LTR */
   right: 0.5em; /* LTR */
   width: 18px;
 }
-[dir="rtl"] .edit .icon-end:before {
+[dir="rtl"] .quickedit .icon-end:before {
   left: 0.5em;
   right: auto;
 }
-.edit button.icon {
+.quickedit button.icon {
   font-size: 1em;
 }
-.edit .icon-pencil {
+.quickedit .icon-pencil {
   margin-left: .5em;
   padding-left: 1.5em;
 }
@@ -55,19 +55,19 @@
 /**
  * Images.
  */
-.edit .icon-close:before {
+.quickedit .icon-close:before {
   background-image: url('../../../misc/icons/787878/ex.svg');
   height: 12px;
   top: 10px;
 }
-.edit .icon-close:hover:before,
-.edit .icon-close:active:before {
+.quickedit .icon-close:hover:before,
+.quickedit .icon-close:active:before {
   background-image: url('../../../misc/icons/000000/ex.svg');
 }
-.edit .icon-throbber:before {
+.quickedit .icon-throbber:before {
   background-image: url("../images/icon-throbber.gif");
 }
-.edit .icon-pencil:before {
+.quickedit .icon-pencil:before {
   background-image: url('../../../misc/icons/5181c6/pencil.svg');
   background-position: left center;
   background-size: 1.3em;
diff --git a/core/modules/edit/css/edit.module.css b/core/modules/quickedit/css/quickedit.module.css
similarity index 53%
rename from core/modules/edit/css/edit.module.css
rename to core/modules/quickedit/css/quickedit.module.css
index 317dab1..8ac9a55 100644
--- a/core/modules/edit/css/edit.module.css
+++ b/core/modules/quickedit/css/quickedit.module.css
@@ -1,34 +1,35 @@
 /**
  * @file
- * Generic base styles for edit module.
+ * Generic base styles for Quick Edit module.
  *
- * Note: every class is prefixed with "edit-" to prevent collisions with modules
- * or themes. In Edit module-specific DOM subtrees, this is not necessary.
+ * Note: every class is prefixed with "quickedit-" to prevent collisions with
+ * modules or themes. In Edit module-specific DOM subtrees, this is not
+ * necessary.
  */
 
 /**
  * Editable.
  */
-.edit-editable {
+.quickedit-editable {
   z-index: 98;
   position: relative;
   cursor: pointer;
 }
-.edit-editable:focus {
+.quickedit-editable:focus {
   outline: none;
 }
 
 /**
  * Highlighted (hovered) editable.
  */
-.edit-editable.edit-highlighted {
+.quickedit-editable.quickedit-highlighted {
   z-index: 99;
 }
-.edit-validation-errors > .messages {
+.quickedit-validation-errors > .messages {
   margin-left: 0;
   margin-right: 0;
 }
-.edit-validation-errors > .messages > ul {
+.quickedit-validation-errors > .messages > ul {
   list-style: none;
   margin: 0;
   padding: 0;
@@ -37,18 +38,18 @@
 /**
  * In-place editors that don't use a popup.
  */
-.edit-validation-errors {
+.quickedit-validation-errors {
   z-index: 300;
   position: relative;
 }
-.edit-validation-errors .messages.error {
+.quickedit-validation-errors .messages.error {
   position: absolute;
   top: 6px;
   left: -5px; /* LTR */
   margin: 0;
   border: none;
 }
-[dir="rtl"] .edit-validation-errors .messages.error {
+[dir="rtl"] .quickedit-validation-errors .messages.error {
   left: auto;
   right: -5px;
 }
@@ -56,46 +57,46 @@
 /**
  * Styling specific to the 'form' in-place editor.
  */
-#edit_backstage {
+#quickedit_backstage {
   display: none;
 }
-.edit-form {
+.quickedit-form {
   position: absolute;
   z-index: 300;
   max-width: 35em;
 }
-.edit-form .placeholder {
+.quickedit-form .placeholder {
   min-height: 22px;
 }
 
 /**
  * Default form styling overrides.
  */
-.edit-form .form-wrapper .form-wrapper {
+.quickedit-form .form-wrapper .form-wrapper {
   margin: inherit;
 }
-.edit-form .form-actions {
+.quickedit-form .form-actions {
   display: none;
 }
-.edit-form input {
+.quickedit-form input {
   max-width: 100%;
 }
 
 /**
  * Entity toolbar.
  */
-.edit-toolbar-container {
+.quickedit-toolbar-container {
   max-width: 100%;
   position: absolute;
   max-width: 320px;
   width: 320px;
   z-index: 100;
 }
-.edit-toolbar-container > .edit-toolbar-pointer,
-.edit-toolbar-container > .edit-toolbar-lining {
+.quickedit-toolbar-container > .quickedit-toolbar-pointer,
+.quickedit-toolbar-container > .quickedit-toolbar-lining {
   display: none;
 }
-.edit-form-container {
+.quickedit-form-container {
   position: relative;
   padding: 0;
   border: 0;
@@ -103,16 +104,16 @@
   vertical-align: baseline;
   z-index: 100;
 }
-.edit-toolgroup.ops {
+.quickedit-toolgroup.ops {
   float: right; /* LTR */
 }
-[dir="rtl"] .edit-toolgroup.ops {
+[dir="rtl"] .quickedit-toolgroup.ops {
   float: left;
 }
-.edit-toolbar-label {
+.quickedit-toolbar-label {
   overflow: hidden;
 }
-#edit-toolbar-fence {
+#quickedit-toolbar-fence {
   bottom: 0;
   left: 0;
   right: 0;
diff --git a/core/modules/edit/css/edit.theme.css b/core/modules/quickedit/css/quickedit.theme.css
similarity index 65%
rename from core/modules/edit/css/edit.theme.css
rename to core/modules/quickedit/css/quickedit.theme.css
index bf5d0eb..c02daaf 100644
--- a/core/modules/edit/css/edit.theme.css
+++ b/core/modules/quickedit/css/quickedit.theme.css
@@ -1,80 +1,80 @@
 /**
  * @file
- * Styling for edit module.
+ * Styling for Quick Edit module.
  */
 
 /**
  * Editable.
  */
-.edit-field.edit-editable,
-.edit-field .edit-editable {
+.quickedit-field.quickedit-editable,
+.quickedit-field .quickedit-editable {
   box-shadow: 0 0 0 2px #74b7ff;
 }
 
 /**
  * Highlighted (hovered) editable.
  */
-.edit-field.edit-highlighted,
-.edit-form.edit-highlighted,
-.edit-field .edit-highlighted {
+.quickedit-field.quickedit-highlighted,
+.quickedit-form.quickedit-highlighted,
+.quickedit-field .quickedit-highlighted {
   box-shadow: 0 0 0 1px #74b7ff, 0 0 0 2px #007fff;
 }
-.edit-field.edit-changed,
-.edit-form.edit-changed,
-.edit-field .edit-changed {
+.quickedit-field.quickedit-changed,
+.quickedit-form.quickedit-changed,
+.quickedit-field .quickedit-changed {
   box-shadow: 0 0 0 1px #fec17e, 0 0 0 2px #f7870a;
 }
-.edit-editing.edit-validation-error,
-.edit-form.edit-validation-error {
+.quickedit-editing.quickedit-validation-error,
+.quickedit-form.quickedit-validation-error {
   box-shadow: 0 0 0px 1px #ee8b74, 0 0 0 2px #fa2209;
 }
-.edit-editing.edit-editor-is-popup {
+.quickedit-editing.quickedit-editor-is-popup {
   box-shadow: none;
 }
-.edit-form .form-item .error {
+.quickedit-form .form-item .error {
   border: 1px solid #eea0a0;
 }
 
 /**
  * Default form styling overrides.
  */
-.edit-form form {
+.quickedit-form form {
   padding: 0.5em;
 }
-.edit-form .form-item {
+.quickedit-form .form-item {
   margin: 0;
 }
-.edit-form .form-wrapper {
+.quickedit-form .form-wrapper {
   margin: .5em;
 }
 
 /**
  * Animations.
  */
-.edit-animate-invisible {
+.quickedit-animate-invisible {
   opacity: 0;
 }
-.edit-animate-default {
+.quickedit-animate-default {
   -webkit-transition: all .4s ease;
   transition: all .4s ease;
 }
-.edit-animate-slow {
+.quickedit-animate-slow {
   -webkit-transition: all .6s ease;
   transition: all .6s ease;
 }
-.edit-animate-delay-veryfast {
+.quickedit-animate-delay-veryfast {
   -webkit-transition-delay: .05s;
   transition-delay: .05s;
 }
-.edit-animate-delay-fast {
+.quickedit-animate-delay-fast {
   -webkit-transition-delay: .2s;
   transition-delay: .2s;
 }
-.edit-animate-disable-width {
+.quickedit-animate-disable-width {
   -webkit-transition: width 0s;
   transition: width 0s;
 }
-.edit-animate-only-visibility {
+.quickedit-animate-only-visibility {
   -webkit-transition: opacity .2s ease;
   transition: opacity .2s ease;
 }
@@ -82,7 +82,7 @@
 /**
  * In-place editors that don't use a popup.
  */
-.edit-validation-errors .messages.error {
+.quickedit-validation-errors .messages.error {
   box-shadow: 0 0 1px 1px red, 0 0 3px 3px rgba(153, 153, 153, .5);
   background-color: white;
 }
@@ -90,7 +90,7 @@
 /**
  * Styling specific to the 'form' in-place editor.
  */
-.edit-form {
+.quickedit-form {
   box-shadow: 0 0 30px 4px #4f4f4f;
   background-color: white;
 }
@@ -98,14 +98,14 @@
 /**
  * Toolbars.
  */
-.edit-toolbar-container {
+.quickedit-toolbar-container {
   font-family: 'Source Sans Pro','Lucida Grande', sans-serif;
   padding-bottom: 7px;
   padding-top: 7px;
   -webkit-transition: all 1s;
   transition: all 1s;
 }
-.edit-toolbar-container > .edit-toolbar-content {
+.quickedit-toolbar-container > .quickedit-toolbar-content {
   background-image: -webkit-linear-gradient(top, #fff, #e4e4e4);
   background-image:    -moz-linear-gradient(top, #fff, #e4e4e4);
   background-image:      -o-linear-gradient(top, #fff, #e4e4e4);
@@ -122,7 +122,7 @@
   user-select: none;
   z-index: 2;
 }
-.edit-toolbar-container > .edit-toolbar-pointer {
+.quickedit-toolbar-container > .quickedit-toolbar-pointer {
   background-color: #e4e4e4;
   bottom: 2px;
   box-shadow: 0 0 0 1px #818181, 0px 0px 0 4px rgba(150, 150, 150, 0.5);
@@ -136,15 +136,15 @@
   width: 16px;
   z-index: 1;
 }
-[dir="rtl"] .edit-toolbar-container > .edit-toolbar-pointer {
+[dir="rtl"] .quickedit-toolbar-container > .quickedit-toolbar-pointer {
   left: auto;
   right: 18px;
 }
-.edit-toolbar-container.edit-toolbar-pointer-top > .edit-toolbar-pointer {
+.quickedit-toolbar-container.quickedit-toolbar-pointer-top > .quickedit-toolbar-pointer {
   bottom: auto;
   top: 2px;
 }
-.edit-toolbar-container > .edit-toolbar-lining {
+.quickedit-toolbar-container > .quickedit-toolbar-lining {
   bottom: 7px;
   box-shadow: 0 0 0 1px #818181, 0px 3px 0px 1px rgba(150, 150, 150, 0.5);
   display: block;
@@ -155,43 +155,43 @@
   z-index: 0;
 }
 
-.edit-toolbar-label {
+.quickedit-toolbar-label {
   font-style: italic;
   overflow: hidden;
   padding: 0.333em 0.4em;
   text-overflow: ellipsis;
   white-space: nowrap;
 }
-.edit-toolbar-label .field:after {
+.quickedit-toolbar-label .field:after {
   content: ' → ';
 }
 
 /* The toolbar; these are not necessarily visible. */
-.edit-toolbar {
+.quickedit-toolbar {
   font-family: 'Droid sans', 'Lucida Grande', sans-serif;
 }
-.edit-toolbar-entity {
+.quickedit-toolbar-entity {
   padding: 0.1667em 0.2em;
 }
 
  /**
   * Info toolgroup.
   */
-.edit-toolbar-fullwidth {
+.quickedit-toolbar-fullwidth {
   width: 100%;
 }
-.edit-toolgroup.wysiwyg-floated {
+.quickedit-toolgroup.wysiwyg-floated {
   float: right; /* LTR */
 }
-[dir="rtl"] .edit-toolgroup.wysiwyg-floated {
+[dir="rtl"] .quickedit-toolgroup.wysiwyg-floated {
   float: left;
 }
-.edit-toolgroup.wysiwyg-main {
+.quickedit-toolgroup.wysiwyg-main {
   clear: both;
   width: 100%;
   padding-left: 0; /* LTR */
 }
-[dir="rtl"] .edit-toolgroup.wysiwyg-main {
+[dir="rtl"] .quickedit-toolgroup.wysiwyg-main {
   padding-left: 0;
   padding-right: 0;
 }
@@ -199,7 +199,7 @@
 /**
  * Buttons.
  */
-.edit-button {
+.quickedit-button {
   background-color: #e4e4e4;
   border: 1px solid #d2d2d2;
   color: #5a5a5a;
@@ -211,29 +211,29 @@
   -webkit-transition: opacity .1s ease;
   transition: opacity .1s ease;
 }
-.edit-button[aria-hidden="true"] {
+.quickedit-button[aria-hidden="true"] {
   visibility: hidden;
   opacity: 0;
 }
-.edit-button + .edit-button {
+.quickedit-button + .quickedit-button {
   margin-left: 0.2em; /* LTR */
 }
-[dir="rtl"] .edit-button + .edit-button {
+[dir="rtl"] .quickedit-button + .quickedit-button {
   margin-left: auto;
   margin-right: 0.25em;
 }
 /* Button with icons. */
-.edit-button:hover,
-.edit-button:active {
+.quickedit-button:hover,
+.quickedit-button:active {
   background-color: #c8c8c8;
   border: 1px solid #a0a0a0;
   color: #2e2e2e;
 }
-.edit-toolbar-container .edit-button.action-cancel {
+.quickedit-toolbar-container .quickedit-button.action-cancel {
   background-color: transparent;
   border: 1px solid transparent;
 }
-.edit-button.action-save {
+.quickedit-button.action-save {
   color: white;
   background-color: #50a0e9;
   background-image: -webkit-linear-gradient(top, #50a0e9, #4481dc);
@@ -242,13 +242,13 @@
   background-image:   linear-gradient(to bottom, #50a0e9, #4481dc);
   border: 1px solid transparent;
 }
-.edit-button.action-save:hover,
-.edit-button.action-save:active {
+.quickedit-button.action-save:hover,
+.quickedit-button.action-save:active {
   border: 1px solid #a0a0a0;
 }
-.edit-button.action-saving,
-.edit-button.action-saving:hover,
-.edit-button.action-saving:active {
+.quickedit-button.action-saving,
+.quickedit-button.action-saving:hover,
+.quickedit-button.action-saving:active {
   background-color: #e4e4e4;
   background-image: none;
   border-color: #d2d2d2;
diff --git a/core/modules/edit/images/icon-throbber.gif b/core/modules/quickedit/images/icon-throbber.gif
similarity index 100%
rename from core/modules/edit/images/icon-throbber.gif
rename to core/modules/quickedit/images/icon-throbber.gif
diff --git a/core/modules/edit/js/editors/formEditor.js b/core/modules/quickedit/js/editors/formEditor.js
similarity index 83%
rename from core/modules/edit/js/editors/formEditor.js
rename to core/modules/quickedit/js/editors/formEditor.js
index 251031d..e9429a8 100644
--- a/core/modules/edit/js/editors/formEditor.js
+++ b/core/modules/quickedit/js/editors/formEditor.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.editors.form = Drupal.edit.EditorView.extend({
+  Drupal.quickedit.editors.form = Drupal.quickedit.EditorView.extend({
 
     // Tracks the form container DOM element that is used while in-place editing.
     $formContainer: null,
@@ -55,7 +55,7 @@
     /**
      * {@inheritdoc}
      */
-    getEditUISettings: function () {
+    getQuickEditUISettings: function () {
       return { padding: true, unifiedToolbar: true, fullWidthToolbar: true, popup: true };
     },
 
@@ -66,17 +66,17 @@
       var fieldModel = this.fieldModel;
 
       // Generate a DOM-compatible ID for the form container DOM element.
-      var id = 'edit-form-for-' + fieldModel.id.replace(/[\/\[\]]/g, '_');
+      var id = 'quickedit-form-for-' + fieldModel.id.replace(/[\/\[\]]/g, '_');
 
       // Render form container.
-      var $formContainer = this.$formContainer = $(Drupal.theme('editFormContainer', {
+      var $formContainer = this.$formContainer = $(Drupal.theme('quickeditFormContainer', {
         id: id,
         loadingMsg: Drupal.t('Loading…')
       }
       ));
       $formContainer
-        .find('.edit-form')
-        .addClass('edit-editable edit-highlighted edit-editing')
+        .find('.quickedit-form')
+        .addClass('quickedit-editable quickedit-highlighted quickedit-editing')
         .attr('role', 'dialog');
 
       // Insert form container in DOM.
@@ -103,14 +103,14 @@
         // for an entity that this needs to happen: precisely now!
         reset: !fieldModel.get('entity').get('inTempStore')
       };
-      Drupal.edit.util.form.load(formOptions, function (form, ajax) {
+      Drupal.quickedit.util.form.load(formOptions, function (form, ajax) {
         Drupal.AjaxCommands.prototype.insert(ajax, {
           data: form,
           selector: '#' + id + ' .placeholder'
         });
 
         $formContainer
-          .on('formUpdated.edit', ':input', function (event) {
+          .on('formUpdated.quickedit', ':input', function (event) {
             var state = fieldModel.get('state');
             // If the form is in an invalid state, it will persist on the page.
             // Set the field to activating so that the user can correct the
@@ -124,7 +124,7 @@
               fieldModel.set('state', 'changed');
             }
           })
-          .on('keypress.edit', 'input', function (event) {
+          .on('keypress.quickedit', 'input', function (event) {
             if (event.keyCode === 13) {
               return false;
             }
@@ -147,8 +147,8 @@
       // Allow form widgets to detach properly.
       Drupal.detachBehaviors(this.$formContainer.get(0), null, 'unload');
       this.$formContainer
-        .off('change.edit', ':input')
-        .off('keypress.edit', 'input')
+        .off('change.quickedit', ':input')
+        .off('keypress.quickedit', 'input')
         .remove();
       this.$formContainer = null;
     },
@@ -158,23 +158,23 @@
      */
     save: function () {
       var $formContainer = this.$formContainer;
-      var $submit = $formContainer.find('.edit-form-submit');
+      var $submit = $formContainer.find('.quickedit-form-submit');
       var editorModel = this.model;
       var fieldModel = this.fieldModel;
 
       function cleanUpAjax() {
-        Drupal.edit.util.form.unajaxifySaving(formSaveAjax);
+        Drupal.quickedit.util.form.unajaxifySaving(formSaveAjax);
         formSaveAjax = null;
       }
 
       // Create an AJAX object for the form associated with the field.
-      var formSaveAjax = Drupal.edit.util.form.ajaxifySaving({
+      var formSaveAjax = Drupal.quickedit.util.form.ajaxifySaving({
         nocssjs: false,
         other_view_modes: fieldModel.findOtherViewModes()
       }, $submit);
 
       // Successfully saved.
-      formSaveAjax.commands.editFieldFormSaved = function (ajax, response, status) {
+      formSaveAjax.commands.quickeditFieldFormSaved = function (ajax, response, status) {
         cleanUpAjax();
         // First, transition the state to 'saved'.
         fieldModel.set('state', 'saved');
@@ -190,16 +190,16 @@
       };
 
       // Unsuccessfully saved; validation errors.
-      formSaveAjax.commands.editFieldFormValidationErrors = function (ajax, response, status) {
+      formSaveAjax.commands.quickeditFieldFormValidationErrors = function (ajax, response, status) {
         editorModel.set('validationErrors', response.data);
         fieldModel.set('state', 'invalid');
       };
 
-      // The edit_field_form AJAX command is called upon attempting to save
+      // The quickeditFieldForm AJAX command is called upon attempting to save
       // the form; Form API will mark which form items have errors, if any. This
       // command is invoked only if validation errors exist and then it runs
       // before editFieldFormValidationErrors().
-      formSaveAjax.commands.editFieldForm = function (ajax, response, status) {
+      formSaveAjax.commands.quickeditFieldForm = function (ajax, response, status) {
         Drupal.AjaxCommands.prototype.insert(ajax, {
           data: response.data,
           selector: '#' + $formContainer.attr('id') + ' form'
@@ -208,7 +208,7 @@
 
       // Click the form's submit button; the scoped AJAX commands above will
       // handle the server's response.
-      $submit.trigger('click.edit');
+      $submit.trigger('click.quickedit');
     },
 
     /**
@@ -216,8 +216,8 @@
      */
     showValidationErrors: function () {
       this.$formContainer
-        .find('.edit-form')
-        .addClass('edit-validation-error')
+        .find('.quickedit-form')
+        .addClass('quickedit-validation-error')
         .find('form')
         .prepend(this.model.get('validationErrors'));
     }
diff --git a/core/modules/edit/js/editors/plainTextEditor.js b/core/modules/quickedit/js/editors/plainTextEditor.js
similarity index 93%
rename from core/modules/edit/js/editors/plainTextEditor.js
rename to core/modules/quickedit/js/editors/plainTextEditor.js
index a3f5f00..c7440d5 100644
--- a/core/modules/edit/js/editors/plainTextEditor.js
+++ b/core/modules/quickedit/js/editors/plainTextEditor.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.editors.plain_text = Drupal.edit.EditorView.extend({
+  Drupal.quickedit.editors.plain_text = Drupal.quickedit.EditorView.extend({
 
     // Stores the textual DOM element that is being in-place edited.
     $textElement: null,
@@ -16,7 +16,7 @@
      * {@inheritdoc}
      */
     initialize: function (options) {
-      Drupal.edit.EditorView.prototype.initialize.call(this, options);
+      Drupal.quickedit.EditorView.prototype.initialize.call(this, options);
 
       var editorModel = this.model;
       var fieldModel = this.fieldModel;
@@ -99,7 +99,7 @@
     /**
      * {@inheritdoc}
      */
-    getEditUISettings: function () {
+    getQuickEditUISettings: function () {
       return { padding: true, unifiedToolbar: false, fullWidthToolbar: false, popup: false };
     },
 
diff --git a/core/modules/edit/js/models/AppModel.js b/core/modules/quickedit/js/models/AppModel.js
similarity index 52%
rename from core/modules/edit/js/models/AppModel.js
rename to core/modules/quickedit/js/models/AppModel.js
index f1e01c9..1682e7f 100644
--- a/core/modules/edit/js/models/AppModel.js
+++ b/core/modules/quickedit/js/models/AppModel.js
@@ -2,21 +2,22 @@
  * @file
  * A Backbone Model for the state of the in-place editing application.
  *
- * @see Drupal.edit.AppView
+ * @see Drupal.quickedit.AppView
  */
 
 (function (Backbone, Drupal) {
 
   "use strict";
 
-  Drupal.edit.AppModel = Backbone.Model.extend({
+  Drupal.quickedit.AppModel = Backbone.Model.extend({
 
     defaults: {
-      // The currently state = 'highlighted' Drupal.edit.FieldModel, if any.
-      // @see Drupal.edit.FieldModel.states
+      // The currently state = 'highlighted' Drupal.quickedit.FieldModel, if
+      // any.
+      // @see Drupal.quickedit.FieldModel.states
       highlightedField: null,
-      // The currently state = 'active' Drupal.edit.FieldModel, if any.
-      // @see Drupal.edit.FieldModel.states
+      // The currently state = 'active' Drupal.quickedit.FieldModel, if any.
+      // @see Drupal.quickedit.FieldModel.states
       activeField: null,
       // Reference to a Drupal.dialog instance if a state change requires
       // confirmation.
diff --git a/core/modules/edit/js/models/BaseModel.js b/core/modules/quickedit/js/models/BaseModel.js
similarity index 93%
rename from core/modules/edit/js/models/BaseModel.js
rename to core/modules/quickedit/js/models/BaseModel.js
index 1f27484..06112cf 100644
--- a/core/modules/edit/js/models/BaseModel.js
+++ b/core/modules/quickedit/js/models/BaseModel.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.BaseModel = Backbone.Model.extend({
+  Drupal.quickedit.BaseModel = Backbone.Model.extend({
 
     /**
      * {@inheritdoc}
diff --git a/core/modules/edit/js/models/EditorModel.js b/core/modules/quickedit/js/models/EditorModel.js
similarity index 86%
rename from core/modules/edit/js/models/EditorModel.js
rename to core/modules/quickedit/js/models/EditorModel.js
index 8cc4530..059b13e 100644
--- a/core/modules/edit/js/models/EditorModel.js
+++ b/core/modules/quickedit/js/models/EditorModel.js
@@ -2,14 +2,14 @@
  * @file
  * A Backbone Model for the state of an in-place editor.
  *
- * @see Drupal.edit.EditorView
+ * @see Drupal.quickedit.EditorView
  */
 
 (function (Backbone, Drupal) {
 
   "use strict";
 
-  Drupal.edit.EditorModel = Backbone.Model.extend({
+  Drupal.quickedit.EditorModel = Backbone.Model.extend({
 
     defaults: {
       // Not the full HTML representation of this field, but the "actual"
diff --git a/core/modules/edit/js/models/EntityModel.js b/core/modules/quickedit/js/models/EntityModel.js
similarity index 91%
rename from core/modules/edit/js/models/EntityModel.js
rename to core/modules/quickedit/js/models/EntityModel.js
index 1b52f7b..ee6f6ce 100644
--- a/core/modules/edit/js/models/EntityModel.js
+++ b/core/modules/quickedit/js/models/EntityModel.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.EntityModel = Drupal.edit.BaseModel.extend({
+  Drupal.quickedit.EntityModel = Drupal.quickedit.BaseModel.extend({
 
     defaults: {
       // The DOM element that represents this entity. It may seem bizarre to
@@ -24,7 +24,7 @@
       id: null,
       // The label of the entity.
       label: null,
-      // A Drupal.edit.FieldCollection for all fields of this entity.
+      // A Drupal.quickedit.FieldCollection for all fields of this entity.
       fields: null,
 
       // The attributes below are stateful. The ones above will never change
@@ -59,7 +59,7 @@
      * {@inheritdoc}
      */
     initialize: function () {
-      this.set('fields', new Drupal.edit.FieldCollection());
+      this.set('fields', new Drupal.quickedit.FieldCollection());
 
       // Respond to entity state changes.
       this.listenTo(this, 'change:state', this.stateChange);
@@ -68,16 +68,16 @@
       // fields.
       this.listenTo(this.get('fields'), 'change:state', this.fieldStateChange);
 
-      // Call Drupal.edit.BaseModel's initialize() method.
-      Drupal.edit.BaseModel.prototype.initialize.call(this);
+      // Call Drupal.quickedit.BaseModel's initialize() method.
+      Drupal.quickedit.BaseModel.prototype.initialize.call(this);
     },
 
     /**
      * Updates FieldModels' states when an EntityModel change occurs.
      *
-     * @param Drupal.edit.EntityModel entityModel
+     * @param Drupal.quickedit.EntityModel entityModel
      * @param String state
-     *   The state of the associated entity. One of Drupal.edit.EntityModel.states.
+     *   The state of the associated entity. One of Drupal.quickedit.EntityModel.states.
      * @param Object options
      */
     stateChange: function (entityModel, state, options) {
@@ -121,7 +121,7 @@
           // stored in TempStore.
           fields.chain()
             .filter(function (fieldModel) {
-              return _.intersection([fieldModel.get('state')], Drupal.edit.app.changedFieldStates).length;
+              return _.intersection([fieldModel.get('state')], Drupal.quickedit.app.changedFieldStates).length;
             })
             .each(function (fieldModel) {
               fieldModel.set('state', 'saving');
@@ -148,7 +148,7 @@
             this.set('state', 'opened', {confirming: true});
             // An action in reaction to state change must be deferred.
             _.defer(function () {
-              Drupal.edit.app.confirmEntityDeactivation(entityModel);
+              Drupal.quickedit.app.confirmEntityDeactivation(entityModel);
             });
           }
           else {
@@ -193,9 +193,9 @@
      *
      * Helper function.
      *
-     * @param Drupal.edit.EntityModel entityModel
+     * @param Drupal.quickedit.EntityModel entityModel
      *   The model of the entity for which a field's state attribute has changed.
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   The model of the field whose state attribute has changed.
      *
      * @see fieldStateChange()
@@ -230,10 +230,10 @@
     /**
      * Reacts to state changes in this entity's fields.
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   The model of the field whose state attribute changed.
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.FieldModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.FieldModel.states.
      */
     fieldStateChange: function (fieldModel, state) {
       var entityModel = this;
@@ -262,7 +262,7 @@
           // A state change in reaction to another state change must be deferred.
           _.defer(function () {
             entityModel.set('state', 'opened', {
-              'accept-field-states': Drupal.edit.app.readyFieldStates
+              'accept-field-states': Drupal.quickedit.app.readyFieldStates
             });
           });
           break;
@@ -300,7 +300,7 @@
           // Attempt to save the entity. If the entity's fields are not yet all in
           // a ready state, the save will not be processed.
           var options = {
-            'accept-field-states': Drupal.edit.app.readyFieldStates
+            'accept-field-states': Drupal.quickedit.app.readyFieldStates
           };
           if (entityModel.set('isCommitting', true, options)) {
             entityModel.save({
@@ -318,7 +318,7 @@
                 entityModel.set('state', 'opened', { reason: 'networkerror' });
                 // Show a modal to inform the user of the network error.
                 var message = Drupal.t('Your changes to <q>@entity-title</q> could not be saved, either due to a website problem or a network connection problem.<br>Please try again.', { '@entity-title': entityModel.get('label') });
-                Drupal.edit.util.networkErrorModal(Drupal.t('Sorry!'), message);
+                Drupal.quickedit.util.networkErrorModal(Drupal.t('Sorry!'), message);
               }
             });
           }
@@ -330,7 +330,7 @@
           // A state change in reaction to another state change must be deferred.
           _.defer(function () {
             entityModel.set('state', 'closing', {
-              'accept-field-states': Drupal.edit.app.readyFieldStates
+              'accept-field-states': Drupal.quickedit.app.readyFieldStates
             });
           });
           break;
@@ -361,25 +361,25 @@
 
       // @todo Simplify this once https://drupal.org/node/1533366 lands.
       // @see https://drupal.org/node/2029999.
-      var id = 'edit-save-entity';
+      var id = 'quickedit-save-entity';
       // Create a temporary element to be able to use Drupal.ajax.
-      var $el = $('#edit-entity-toolbar').find('.action-save'); // This is the span element inside the button.
+      var $el = $('#quickedit-entity-toolbar').find('.action-save'); // This is the span element inside the button.
       // Create a Drupal.ajax instance to save the entity.
       var entitySaverAjax = new Drupal.ajax(id, $el, {
-        url: Drupal.url('edit/entity/' + entityModel.get('entityID')),
-        event: 'edit-save.edit',
+        url: Drupal.url('quickedit/entity/' + entityModel.get('entityID')),
+        event: 'quickedit-save.quickedit',
         progress: { type: 'none' },
         error: function () {
-          $el.off('edit-save.edit');
-          // Let the Drupal.edit.EntityModel Backbone model's error() method
-          // handle errors.
+          $el.off('quickedit-save.quickedit');
+          // Let the Drupal.quickedit.EntityModel Backbone model's error()=
+          // method handle errors.
           options.error.call(entityModel);
         }
       });
       // Entity saved successfully.
-      entitySaverAjax.commands.editEntitySaved = function (ajax, response, status) {
+      entitySaverAjax.commands.quickeditEntitySaved = function (ajax, response, status) {
         // Clean up.
-        $(ajax.element).off('edit-save.edit');
+        $(ajax.element).off('quickedit-save.quickedit');
         // All fields have been moved from TempStore to permanent storage, update
         // the "inTempStore" attribute on FieldModels, on the EntityModel and
         // clear EntityModel's "fieldInTempStore" attribute.
@@ -394,9 +394,9 @@
           options.success.call(entityModel);
         }
       };
-      // Trigger the AJAX request, which will will return the editEntitySaved AJAX
-      // command to which we then react.
-      $el.trigger('edit-save.edit');
+      // Trigger the AJAX request, which will will return the
+      // quickeditEntitySaved AJAX command to which we then react.
+      $el.trigger('quickedit-save.quickedit');
     },
 
     /**
@@ -514,7 +514,7 @@
      * {@inheritdoc}
      */
     destroy: function (options) {
-      Drupal.edit.BaseModel.prototype.destroy.call(this, options);
+      Drupal.quickedit.BaseModel.prototype.destroy.call(this, options);
 
       this.stopListening();
 
@@ -594,9 +594,9 @@
      * Indicates whether the 'from' state comes before the 'to' state.
      *
      * @param String from
-     *   One of Drupal.edit.EntityModel.states.
+     *   One of Drupal.quickedit.EntityModel.states.
      * @param String to
-     *   One of Drupal.edit.EntityModel.states.
+     *   One of Drupal.quickedit.EntityModel.states.
      * @return Boolean
      */
     followsStateSequence: function (from, to) {
@@ -605,8 +605,8 @@
 
   });
 
-  Drupal.edit.EntityCollection = Backbone.Collection.extend({
-    model: Drupal.edit.EntityModel
+  Drupal.quickedit.EntityCollection = Backbone.Collection.extend({
+    model: Drupal.quickedit.EntityModel
   });
 
 }(_, jQuery, Backbone, Drupal));
diff --git a/core/modules/edit/js/models/FieldModel.js b/core/modules/quickedit/js/models/FieldModel.js
similarity index 91%
rename from core/modules/edit/js/models/FieldModel.js
rename to core/modules/quickedit/js/models/FieldModel.js
index 0b91b0f..9578566 100644
--- a/core/modules/edit/js/models/FieldModel.js
+++ b/core/modules/quickedit/js/models/FieldModel.js
@@ -10,7 +10,7 @@
   /**
    * State of an in-place editable field in the DOM.
    */
-  Drupal.edit.FieldModel = Drupal.edit.BaseModel.extend({
+  Drupal.quickedit.FieldModel = Drupal.quickedit.BaseModel.extend({
 
     defaults: {
       // The DOM element that represents this field. It may seem bizarre to have
@@ -25,10 +25,10 @@
       // the form "<entity type>/<id>/<field name>/<language>/<view mode>[entity instance ID]",
       // e.g. "node/1/field_tags/und/full[0]".
       id: null,
-      // A Drupal.edit.EntityModel. Its "fields" attribute, which is a
+      // A Drupal.quickedit.EntityModel. Its "fields" attribute, which is a
       // FieldCollection, is automatically updated to include this FieldModel.
       entity: null,
-      // This field's metadata as returned by the EditController::metadata().
+      // This field's metadata as returned by the QuickEditController::metadata().
       metadata: null,
       // Callback function for validating changes between states. Receives the
       // previous state, new state, context, and a callback
@@ -43,7 +43,7 @@
       // during the life of a FieldModel instance.
 
       // In-place editing state of this field. Defaults to the initial state.
-      // Possible values: @see Drupal.edit.FieldModel.states.
+      // Possible values: @see Drupal.quickedit.FieldModel.states.
       state: 'inactive',
       // The field is currently in the 'changed' state or one of the following
       // states in which the field is still changed.
@@ -52,8 +52,8 @@
       // purposes: so that FieldDecorationView.renderChanged() can react to it.
       inTempStore: false,
       // The full HTML representation of this field (with the element that has
-      // the data-edit-field-id as the outer element). Used to propagate changes
-      // from this field instance to other instances of the same field.
+      // the data-quickedit-field-id as the outer element). Used to propagate
+      // changes from this field instance to other instances of the same field.
       html: null,
       // An object containing the full HTML representations (values) of other view
       // modes (keys) of this field, for other instances of this field displayed
@@ -74,8 +74,8 @@
       // Automatically generate the logical field ID.
       this.set('logicalFieldID', this.get('fieldID').split('/').slice(0, 4).join('/'));
 
-      // Call Drupal.edit.BaseModel's initialize() method.
-      Drupal.edit.BaseModel.prototype.initialize.call(this, options);
+      // Call Drupal.quickedit.BaseModel's initialize() method.
+      Drupal.quickedit.BaseModel.prototype.initialize.call(this, options);
     },
 
     /**
@@ -85,7 +85,7 @@
       if (this.get('state') !== 'inactive') {
         throw new Error("FieldModel cannot be destroyed if it is not inactive state.");
       }
-      Drupal.edit.BaseModel.prototype.destroy.call(this, options);
+      Drupal.quickedit.BaseModel.prototype.destroy.call(this, options);
     },
 
     /**
@@ -143,7 +143,7 @@
     findOtherViewModes: function () {
       var currentField = this;
       var otherViewModes = [];
-      Drupal.edit.collections.fields
+      Drupal.quickedit.collections.fields
         // Find all instances of fields that display the same logical field (same
         // entity, same field, just a different instance and maybe a different
         // view mode).
@@ -242,9 +242,9 @@
      * Indicates whether the 'from' state comes before the 'to' state.
      *
      * @param String from
-     *   One of Drupal.edit.FieldModel.states.
+     *   One of Drupal.quickedit.FieldModel.states.
      * @param String to
-     *   One of Drupal.edit.FieldModel.states.
+     *   One of Drupal.quickedit.FieldModel.states.
      * @return Boolean
      */
     followsStateSequence: function (from, to) {
@@ -253,8 +253,8 @@
 
   });
 
-  Drupal.edit.FieldCollection = Backbone.Collection.extend({
-    model: Drupal.edit.FieldModel
+  Drupal.quickedit.FieldCollection = Backbone.Collection.extend({
+    model: Drupal.quickedit.FieldModel
   });
 
 }(_, Backbone, Drupal));
diff --git a/core/modules/edit/js/edit.js b/core/modules/quickedit/js/quickedit.js
similarity index 77%
rename from core/modules/edit/js/edit.js
rename to core/modules/quickedit/js/quickedit.js
index 611886d..9244694 100644
--- a/core/modules/edit/js/edit.js
+++ b/core/modules/quickedit/js/quickedit.js
@@ -1,6 +1,6 @@
 /**
  * @file
- * Attaches behavior for the Edit module.
+ * Attaches behavior for the Quick Edit module.
  *
  * Everything happens asynchronously, to allow for:
  *   - dynamically rendered contextual links
@@ -21,7 +21,7 @@
 
   "use strict";
 
-  var options = $.extend(drupalSettings.edit,
+  var options = $.extend(drupalSettings.quickedit,
     // Merge strings on top of drupalSettings so that they are not mutable.
     {
       strings: {
@@ -63,20 +63,20 @@
    */
   var entityInstancesTracker = {};
 
-  Drupal.behaviors.edit = {
+  Drupal.behaviors.quickedit = {
     attach: function (context) {
-      // Initialize the Edit app once per page load.
-      $('body').once('edit-init', initEdit);
+      // Initialize the Quick Edit app once per page load.
+      $('body').once('quickedit-init', initQuickEdit);
 
       // Find all in-place editable fields, if any.
-      var $fields = $(context).find('[data-edit-field-id]').once('edit');
+      var $fields = $(context).find('[data-quickedit-field-id]').once('quickedit');
       if ($fields.length === 0) {
         return;
       }
 
       // Process each entity element: identical entities that appear multiple
       // times will get a numeric identifier, starting at 0.
-      $(context).find('[data-edit-entity-id]').once('edit').each(function (index, entityElement) {
+      $(context).find('[data-quickedit-entity-id]').once('quickedit').each(function (index, entityElement) {
         processEntity(entityElement);
       });
 
@@ -114,14 +114,15 @@
     }
   };
 
-  Drupal.edit = {
-    // A Drupal.edit.AppView instance.
+  Drupal.quickedit = {
+    // A Drupal.quickedit.AppView instance.
     app: null,
 
     collections: {
-      // All in-place editable entities (Drupal.edit.EntityModel) on the page.
+      // All in-place editable entities (Drupal.quickedit.EntityModel) on the
+      // page.
       entities: null,
-      // All in-place editable fields (Drupal.edit.FieldModel) on the page.
+      // All in-place editable fields (Drupal.quickedit.FieldModel) on the page.
       fields: null
     },
 
@@ -142,11 +143,11 @@
         return (key === undefined) ? metadata : metadata[key];
       },
       _prefixFieldID: function (fieldID) {
-        return 'Drupal.edit.metadata.' + fieldID;
+        return 'Drupal.quickedit.metadata.' + fieldID;
       },
       _unprefixFieldID: function (fieldID) {
-        // Strip "Drupal.edit.metadata.", which is 21 characters long.
-        return fieldID.substring(21);
+        // Strip "Drupal.quickedit.metadata.", which is 26 characters long.
+        return fieldID.substring(26);
       },
       intersection: function (fieldIDs) {
         var prefixedFieldIDs = _.map(fieldIDs, this._prefixFieldID);
@@ -156,15 +157,15 @@
     }
   };
 
-  // Clear the Edit metadata cache whenever the current user's set of permissions
-  // changes.
-  var permissionsHashKey = Drupal.edit.metadata._prefixFieldID('permissionsHash');
+  // Clear the Quick Edit metadata cache whenever the current user's set of
+  // permissions changes.
+  var permissionsHashKey = Drupal.quickedit.metadata._prefixFieldID('permissionsHash');
   var permissionsHashValue = storage.getItem(permissionsHashKey);
   var permissionsHash = drupalSettings.user.permissionsHash;
   if (permissionsHashValue !== permissionsHash) {
     if (typeof permissionsHash === 'string') {
       _.chain(storage).keys().each(function (key) {
-        if (key.substring(0, 21) === 'Drupal.edit.metadata.') {
+        if (key.substring(0, 26) === 'Drupal.quickedit.metadata.') {
           storage.removeItem(key);
         }
       });
@@ -173,20 +174,20 @@
   }
 
   /**
-   * Detect contextual links on entities annotated by Edit; queue these to be
-   * processed.
+   * Detect contextual links on entities annotated by Quick Edit; queue these to
+   * be processed.
    */
   $(document).on('drupalContextualLinkAdded', function (event, data) {
-    if (data.$region.is('[data-edit-entity-id]')) {
+    if (data.$region.is('[data-quickedit-entity-id]')) {
       // If the contextual link is cached on the client side, an entity instance
       // will not yet have been assigned. So assign one.
-      if (!data.$region.is('[data-edit-entity-instance-id]')) {
-        data.$region.once('edit');
+      if (!data.$region.is('[data-quickedit-entity-instance-id]')) {
+        data.$region.once('quickedit');
         processEntity(data.$region.get(0));
       }
       var contextualLink = {
-        entityID: data.$region.attr('data-edit-entity-id'),
-        entityInstanceID: data.$region.attr('data-edit-entity-instance-id'),
+        entityID: data.$region.attr('data-quickedit-entity-id'),
+        entityInstanceID: data.$region.attr('data-quickedit-entity-instance-id'),
         el: data.$el[0],
         region: data.$region[0]
       };
@@ -211,22 +212,22 @@
   }
 
   /**
-   * Initialize the Edit app.
+   * Initialize the Quick Edit app.
    *
    * @param DOM bodyElement
    *   This document's body element.
    */
-  function initEdit(bodyElement) {
-    Drupal.edit.collections.entities = new Drupal.edit.EntityCollection();
-    Drupal.edit.collections.fields = new Drupal.edit.FieldCollection();
+  function initQuickEdit(bodyElement) {
+    Drupal.quickedit.collections.entities = new Drupal.quickedit.EntityCollection();
+    Drupal.quickedit.collections.fields = new Drupal.quickedit.FieldCollection();
 
     // Instantiate AppModel (application state) and AppView, which is the
     // controller of the whole in-place editing experience.
-    Drupal.edit.app = new Drupal.edit.AppView({
+    Drupal.quickedit.app = new Drupal.quickedit.AppView({
       el: bodyElement,
-      model: new Drupal.edit.AppModel(),
-      entitiesCollection: Drupal.edit.collections.entities,
-      fieldsCollection: Drupal.edit.collections.fields
+      model: new Drupal.quickedit.AppModel(),
+      entitiesCollection: Drupal.quickedit.collections.entities,
+      fieldsCollection: Drupal.quickedit.collections.fields
     });
   }
 
@@ -234,11 +235,11 @@
    * Assigns the entity an instance ID.
    *
    * @param DOM entityElement.
-   *   A Drupal Entity API entity's DOM element with a data-edit-entity-id
+   *   A Drupal Entity API entity's DOM element with a data-quickedit-entity-id
    *   attribute.
    */
   function processEntity(entityElement) {
-    var entityID = entityElement.getAttribute('data-edit-entity-id');
+    var entityID = entityElement.getAttribute('data-quickedit-entity-id');
     if (!entityInstancesTracker.hasOwnProperty(entityID)) {
       entityInstancesTracker[entityID] = 0;
     }
@@ -248,22 +249,24 @@
 
     // Set the calculated entity instance ID for this element.
     var entityInstanceID = entityInstancesTracker[entityID];
-    entityElement.setAttribute('data-edit-entity-instance-id', entityInstanceID);
+    entityElement.setAttribute('data-quickedit-entity-instance-id', entityInstanceID);
   }
 
   /**
    * Fetch the field's metadata; queue or initialize it (if EntityModel exists).
    *
    * @param DOM fieldElement
-   *   A Drupal Field API field's DOM element with a data-edit-field-id attribute.
+   *   A Drupal Field API field's DOM element with a data-quickedit-field-id
+   *   attribute.
    */
   function processField(fieldElement) {
-    var metadata = Drupal.edit.metadata;
-    var fieldID = fieldElement.getAttribute('data-edit-field-id');
+    var metadata = Drupal.quickedit.metadata;
+    var fieldID = fieldElement.getAttribute('data-quickedit-field-id');
     var entityID = extractEntityID(fieldID);
-    // Figure out the instance ID by looking at the ancestor [data-edit-entity-id]
-    // element's data-edit-entity-instance-id attribute.
-    var entityElementSelector = '[data-edit-entity-id="' + entityID + '"]';
+    // Figure out the instance ID by looking at the ancestor
+    // [data-quickedit-entity-id] element's data-quickedit-entity-instance-id
+    // attribute.
+    var entityElementSelector = '[data-quickedit-entity-id="' + entityID + '"]';
     var entityElement = $(fieldElement).closest(entityElementSelector);
     // In the case of a full entity view page, the entity title is rendered
     // outside of "the entity DOM node": it's rendered as the page title. So in
@@ -273,7 +276,7 @@
     }
     var entityInstanceID = entityElement
       .get(0)
-      .getAttribute('data-edit-entity-instance-id');
+      .getAttribute('data-quickedit-entity-instance-id');
 
     // Early-return if metadata for this field is missing.
     if (!metadata.has(fieldID)) {
@@ -292,7 +295,7 @@
 
     // If an EntityModel for this field already exists (and hence also a "Quick
     // edit" contextual link), then initialize it immediately.
-    if (Drupal.edit.collections.entities.findWhere({ entityID: entityID, entityInstanceID: entityInstanceID })) {
+    if (Drupal.quickedit.collections.entities.findWhere({ entityID: entityID, entityInstanceID: entityInstanceID })) {
       initializeField(fieldElement, fieldID, entityID, entityInstanceID);
     }
     // Otherwise: queue the field. It is now available to be set up when its
@@ -315,25 +318,25 @@
    *   The field's entity's instance ID.
    */
   function initializeField(fieldElement, fieldID, entityID, entityInstanceID) {
-    var entity = Drupal.edit.collections.entities.findWhere({
+    var entity = Drupal.quickedit.collections.entities.findWhere({
       entityID: entityID,
       entityInstanceID: entityInstanceID
     });
 
-    $(fieldElement).addClass('edit-field');
+    $(fieldElement).addClass('quickedit-field');
 
     // The FieldModel stores the state of an in-place editable entity field.
-    var field = new Drupal.edit.FieldModel({
+    var field = new Drupal.quickedit.FieldModel({
       el: fieldElement,
       fieldID: fieldID,
       id: fieldID + '[' + entity.get('entityInstanceID') + ']',
       entity: entity,
-      metadata: Drupal.edit.metadata.get(fieldID),
-      acceptStateChange: _.bind(Drupal.edit.app.acceptEditorStateChange, Drupal.edit.app)
+      metadata: Drupal.quickedit.metadata.get(fieldID),
+      acceptStateChange: _.bind(Drupal.quickedit.app.acceptEditorStateChange, Drupal.quickedit.app)
     });
 
     // Track all fields on the page.
-    Drupal.edit.collections.fields.add(field);
+    Drupal.quickedit.collections.fields.add(field);
   }
 
   /**
@@ -351,11 +354,11 @@
       var fieldElementsWithoutMetadata = _.pluck(fieldsMetadataQueue, 'el');
       var entityIDs = _.uniq(_.pluck(fieldsMetadataQueue, 'entityID'), true);
       // Ensure we only request entityIDs for which we don't have metadata yet.
-      entityIDs = _.difference(entityIDs, Drupal.edit.metadata.intersection(entityIDs));
+      entityIDs = _.difference(entityIDs, Drupal.quickedit.metadata.intersection(entityIDs));
       fieldsMetadataQueue = [];
 
       $.ajax({
-        url: Drupal.url('edit/metadata'),
+        url: Drupal.url('quickedit/metadata'),
         type: 'POST',
         data: {
           'fields[]': fieldIDs,
@@ -365,7 +368,7 @@
         success: function (results) {
           // Store the metadata.
           _.each(results, function (fieldMetadata, fieldID) {
-            Drupal.edit.metadata.add(fieldID, fieldMetadata);
+            Drupal.quickedit.metadata.add(fieldID, fieldMetadata);
           });
 
           callback(fieldElementsWithoutMetadata);
@@ -385,10 +388,10 @@
    *   have been inserted into the DOM. i.e. they may still be loading.
    */
   function loadMissingEditors(callback) {
-    var loadedEditors = _.keys(Drupal.edit.editors);
+    var loadedEditors = _.keys(Drupal.quickedit.editors);
     var missingEditors = [];
-    Drupal.edit.collections.fields.each(function (fieldModel) {
-      var metadata = Drupal.edit.metadata.get(fieldModel.get('fieldID'));
+    Drupal.quickedit.collections.fields.each(function (fieldModel) {
+      var metadata = Drupal.quickedit.metadata.get(fieldModel.get('fieldID'));
       if (metadata.access && _.indexOf(loadedEditors, metadata.editor) === -1) {
         missingEditors.push(metadata.editor);
       }
@@ -400,13 +403,13 @@
 
     // @todo Simplify this once https://drupal.org/node/1533366 lands.
     // @see https://drupal.org/node/2029999.
-    var id = 'edit-load-editors';
+    var id = 'quickedit-load-editors';
     // Create a temporary element to be able to use Drupal.ajax.
     var $el = $('<div id="' + id + '" class="element-hidden"></div>').appendTo('body');
     // Create a Drupal.ajax instance to load the form.
     var loadEditorsAjax = new Drupal.ajax(id, $el, {
-      url: Drupal.url('edit/attachments'),
-      event: 'edit-internal.edit',
+      url: Drupal.url('quickedit/attachments'),
+      event: 'quickedit-internal.quickedit',
       submit: { 'editors[]': missingEditors },
       // No progress indicator.
       progress: { type: null }
@@ -417,12 +420,12 @@
     loadEditorsAjax.commands.insert = function (ajax, response, status) {
       _.defer(callback);
       realInsert(ajax, response, status);
-      $el.off('edit-internal.edit');
+      $el.off('quickedit-internal.quickedit');
       $el.remove();
     };
     // Trigger the AJAX request, which will should return AJAX commands to insert
     // any missing attachments.
-    $el.trigger('edit-internal.edit');
+    $el.trigger('quickedit-internal.quickedit');
   }
 
   /**
@@ -430,11 +433,11 @@
    *
    * @param Object contextualLink
    *   An object with the following properties:
-   *     - String entityID: an Edit entity identifier, e.g. "node/1" or
+   *     - String entityID: a Quick Edit entity identifier, e.g. "node/1" or
    *       "custom_block/5".
-   *     - String entityInstanceID: an Edit entity instance identifier, e.g. 0, 1
-   *       or n (depending on whether it's the first, second, or n+1st instance of
-   *       this entity).
+   *     - String entityInstanceID: a Quick Edit entity instance identifier,
+   *       e.g. 0, 1 or n (depending on whether it's the first, second, or n+1st
+   *       instance of this entity).
    *     - DOM el: element pointing to the contextual links placeholder for this
    *       entity.
    *     - DOM region: element pointing to the contextual region for this entity.
@@ -446,7 +449,7 @@
    *   Returns false otherwise.
    */
   function initializeEntityContextualLink(contextualLink) {
-    var metadata = Drupal.edit.metadata;
+    var metadata = Drupal.quickedit.metadata;
     // Check if the user has permission to edit at least one of them.
     function hasFieldWithPermission(fieldIDs) {
       for (var i = 0; i < fieldIDs.length; i++) {
@@ -478,17 +481,17 @@
     // the current user may edit in-place; instantiate EntityModel,
     // EntityDecorationView and ContextualLinkView.
     else if (hasFieldWithPermission(fieldIDs)) {
-      var entityModel = new Drupal.edit.EntityModel({
+      var entityModel = new Drupal.quickedit.EntityModel({
         el: contextualLink.region,
         entityID: contextualLink.entityID,
         entityInstanceID: contextualLink.entityInstanceID,
         id: contextualLink.entityID + '[' + contextualLink.entityInstanceID + ']',
-        label: Drupal.edit.metadata.get(contextualLink.entityID, 'label')
+        label: Drupal.quickedit.metadata.get(contextualLink.entityID, 'label')
       });
-      Drupal.edit.collections.entities.add(entityModel);
+      Drupal.quickedit.collections.entities.add(entityModel);
       // Create an EntityDecorationView associated with the root DOM node of the
       // entity.
-      var entityDecorationView = new Drupal.edit.EntityDecorationView({
+      var entityDecorationView = new Drupal.quickedit.EntityDecorationView({
         el: contextualLink.region,
         model: entityModel
       });
@@ -504,10 +507,10 @@
       // to get a one-time use version of the function.
       var initContextualLink = _.once(function () {
         var $links = $(contextualLink.el).find('.contextual-links');
-        var contextualLinkView = new Drupal.edit.ContextualLinkView($.extend({
-          el: $('<li class="quick-edit"><a href="" role="button" aria-pressed="false"></a></li>').prependTo($links),
+        var contextualLinkView = new Drupal.quickedit.ContextualLinkView($.extend({
+          el: $('<li class="quickedit"><a href="" role="button" aria-pressed="false"></a></li>').prependTo($links),
           model: entityModel,
-          appModel: Drupal.edit.app.model
+          appModel: Drupal.quickedit.app.model
         }, options));
         entityModel.set('contextualLinkView', contextualLinkView);
       });
@@ -543,9 +546,9 @@
    *   The context within which to delete.
    */
   function deleteContainedModelsAndQueues($context) {
-    $context.find('[data-edit-entity-id]').addBack('[data-edit-entity-id]').each(function (index, entityElement) {
+    $context.find('[data-quickedit-entity-id]').addBack('[data-quickedit-entity-id]').each(function (index, entityElement) {
       // Delete entity model.
-      var entityModel = Drupal.edit.collections.entities.findWhere({el: entityElement});
+      var entityModel = Drupal.quickedit.collections.entities.findWhere({el: entityElement});
       if (entityModel) {
         var contextualLinkView = entityModel.get('contextualLinkView');
         contextualLinkView.undelegateEvents();
@@ -563,9 +566,9 @@
       contextualLinksQueue = _.filter(contextualLinksQueue, hasOtherRegion);
     });
 
-    $context.find('[data-edit-field-id]').addBack('[data-edit-field-id]').each(function (index, fieldElement) {
+    $context.find('[data-quickedit-field-id]').addBack('[data-quickedit-field-id]').each(function (index, fieldElement) {
       // Delete field models.
-      Drupal.edit.collections.fields.chain()
+      Drupal.quickedit.collections.fields.chain()
         .filter(function (fieldModel) { return fieldModel.get('el') === fieldElement; })
         .invoke('destroy');
 
diff --git a/core/modules/edit/js/theme.js b/core/modules/quickedit/js/theme.js
similarity index 64%
rename from core/modules/edit/js/theme.js
rename to core/modules/quickedit/js/theme.js
index 9915b94..4a97130 100644
--- a/core/modules/edit/js/theme.js
+++ b/core/modules/quickedit/js/theme.js
@@ -1,6 +1,6 @@
 /**
  * @file
- * Provides overridable theme functions for all of Edit's client-side HTML.
+ * Provides overridable theme functions for all of Quick Edit's client-side HTML.
  */
 
 (function ($, Drupal) {
@@ -8,7 +8,7 @@
   "use strict";
 
   /**
-   * Theme function for a "backstage" for the Edit module.
+   * Theme function for a "backstage" for the Quick Edit module.
    *
    * @param Object settings
    *   An object with the following keys:
@@ -16,14 +16,14 @@
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editBackstage = function (settings) {
+  Drupal.theme.quickeditBackstage = function (settings) {
     var html = '';
     html += '<div id="' + settings.id + '" />';
     return html;
   };
 
   /**
-   * Theme function for a toolbar container of the Edit module.
+   * Theme function for a toolbar container of the Quick Edit module.
    *
    * @param Object settings
    *   An object with the following keys:
@@ -31,21 +31,21 @@
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editEntityToolbar = function (settings) {
+  Drupal.theme.quickeditEntityToolbar = function (settings) {
     var html = '';
-    html += '<div id="' + settings.id + '" class="edit edit-toolbar-container clearfix">';
-    html += '<i class="edit-toolbar-pointer"></i>';
-    html += '<div class="edit-toolbar-content">';
-    html += '<div class="edit-toolbar edit-toolbar-entity clearfix icon icon-pencil">';
-    html += '<div class="edit-toolbar-label" />';
+    html += '<div id="' + settings.id + '" class="quickedit quickedit-toolbar-container clearfix">';
+    html += '<i class="quickedit-toolbar-pointer"></i>';
+    html += '<div class="quickedit-toolbar-content">';
+    html += '<div class="quickedit-toolbar quickedit-toolbar-entity clearfix icon icon-pencil">';
+    html += '<div class="quickedit-toolbar-label" />';
     html += '</div>';
-    html += '<div class="edit-toolbar edit-toolbar-field clearfix" />';
-    html += '</div><div class="edit-toolbar-lining"></div></div>';
+    html += '<div class="quickedit-toolbar quickedit-toolbar-field clearfix" />';
+    html += '</div><div class="quickedit-toolbar-lining"></div></div>';
     return html;
   };
 
   /**
-   * Theme function for a toolbar container of the Edit module.
+   * Theme function for a toolbar container of the Quick Edit module.
    *
    * @param Object settings
    *   An object with the following keys:
@@ -54,7 +54,7 @@
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editEntityToolbarLabel = function (settings) {
+  Drupal.theme.quickeditEntityToolbarLabel = function (settings) {
     return '<span class="field">' + settings.fieldLabel + '</span>' + settings.entityLabel;
   };
 
@@ -64,12 +64,12 @@
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editEntityToolbarFence = function () {
-    return '<div id="edit-toolbar-fence" />';
+  Drupal.theme.quickeditEntityToolbarFence = function () {
+    return '<div id="quickedit-toolbar-fence" />';
   };
 
   /**
-   * Theme function for a toolbar container of the Edit module.
+   * Theme function for a toolbar container of the Quick Edit module.
    *
    * @param settings
    *   An object with the following keys:
@@ -77,38 +77,38 @@
    * @return
    *   The corresponding HTML.
    */
-  Drupal.theme.editFieldToolbar = function (settings) {
+  Drupal.theme.quickeditFieldToolbar = function (settings) {
     return '<div id="' + settings.id + '" />';
   };
 
   /**
-   * Theme function for a toolbar toolgroup of the Edit module.
+   * Theme function for a toolbar toolgroup of the Quick Edit module.
    *
    * @param Object settings
    *   An object with the following keys:
    *   - String id: (optional) the id of the toolgroup
    *   - String classes: the class of the toolgroup.
-   *   - Array buttons: @see Drupal.theme.prototype.editButtons().
+   *   - Array buttons: @see Drupal.theme.quickeditButtons().
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editToolgroup = function (settings) {
+  Drupal.theme.quickeditToolgroup = function (settings) {
     // Classes.
     var classes = (settings.classes || []);
-    classes.unshift('edit-toolgroup');
+    classes.unshift('quickedit-toolgroup');
     var html = '';
     html += '<div class="' + classes.join(' ') + '"';
     if (settings.id) {
       html += ' id="' + settings.id + '"';
     }
     html += '>';
-    html += Drupal.theme('editButtons', { buttons: settings.buttons });
+    html += Drupal.theme('quickeditButtons', { buttons: settings.buttons });
     html += '</div>';
     return html;
   };
 
   /**
-   * Theme function for buttons of the Edit module.
+   * Theme function for buttons of the Quick Edit module.
    *
    * Can be used for the buttons both in the toolbar toolgroups and in the modal.
    *
@@ -121,7 +121,7 @@
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editButtons = function (settings) {
+  Drupal.theme.quickeditButtons = function (settings) {
     var html = '';
     for (var i = 0; i < settings.buttons.length; i++) {
       var button = settings.buttons[i];
@@ -144,7 +144,7 @@
   };
 
   /**
-   * Theme function for a form container of the Edit module.
+   * Theme function for a form container of the Quick Edit module.
    *
    * @param Object settings
    *   An object with the following keys:
@@ -153,10 +153,10 @@
    * @return String
    *   The corresponding HTML.
    */
-  Drupal.theme.editFormContainer = function (settings) {
+  Drupal.theme.quickeditFormContainer = function (settings) {
     var html = '';
-    html += '<div id="' + settings.id + '" class="edit-form-container">';
-    html += '  <div class="edit-form">';
+    html += '<div id="' + settings.id + '" class="quickedit-form-container">';
+    html += '  <div class="quickedit-form">';
     html += '    <div class="placeholder">';
     html += settings.loadingMsg;
     html += '    </div>';
diff --git a/core/modules/edit/js/util.js b/core/modules/quickedit/js/util.js
similarity index 75%
rename from core/modules/edit/js/util.js
rename to core/modules/quickedit/js/util.js
index 6883d7e..6eefa98 100644
--- a/core/modules/edit/js/util.js
+++ b/core/modules/quickedit/js/util.js
@@ -1,16 +1,16 @@
 /**
  * @file
- * Provides utility functions for Edit.
+ * Provides utility functions for Quick Edit.
  */
 
 (function ($, Drupal) {
 
   "use strict";
 
-  Drupal.edit.util = Drupal.edit.util || {};
+  Drupal.quickedit.util = Drupal.quickedit.util || {};
 
-  Drupal.edit.util.constants = {};
-  Drupal.edit.util.constants.transitionEnd = "transitionEnd.edit webkitTransitionEnd.edit transitionend.edit msTransitionEnd.edit oTransitionEnd.edit";
+  Drupal.quickedit.util.constants = {};
+  Drupal.quickedit.util.constants.transitionEnd = "transitionEnd.quickedit webkitTransitionEnd.quickedit transitionend.quickedit msTransitionEnd.quickedit oTransitionEnd.quickedit";
 
   /**
    * Converts a field id into a formatted url path.
@@ -19,9 +19,9 @@
    *   The id of an editable field. For example, 'node/1/body/und/full'.
    * @param String urlFormat
    *   The Controller route for field processing. For example,
-   *   '/edit/form/%21entity_type/%21id/%21field_name/%21langcode/%21view_mode'.
+   *   '/quickedit/form/!entity_type/!id/!field_name/!langcode/!view_mode'.
    */
-  Drupal.edit.util.buildUrl = function (id, urlFormat) {
+  Drupal.quickedit.util.buildUrl = function (id, urlFormat) {
     var parts = id.split('/');
     return Drupal.formatString(decodeURIComponent(urlFormat), {
       '!entity_type': parts[0],
@@ -40,11 +40,11 @@
    * @param String message
    *   The message to use in the modal dialog.
    */
-  Drupal.edit.util.networkErrorModal = function (title, message) {
+  Drupal.quickedit.util.networkErrorModal = function (title, message) {
     var $message = $('<div>' + message + '</div>');
     var networkErrorModal = Drupal.dialog($message.get(0), {
       title: title,
-      dialogClass: 'edit-network-error',
+      dialogClass: 'quickedit-network-error',
       buttons: [
         {
           text: Drupal.t('OK'),
@@ -64,7 +64,7 @@
     networkErrorModal.showModal();
   };
 
-  Drupal.edit.util.form = {
+  Drupal.quickedit.util.form = {
 
     /**
      * Loads a form, calls a callback to insert.
@@ -93,35 +93,35 @@
 
       // Create a Drupal.ajax instance to load the form.
       var formLoaderAjax = new Drupal.ajax(fieldID, $el, {
-        url: Drupal.edit.util.buildUrl(fieldID, Drupal.url('edit/form/!entity_type/!id/!field_name/!langcode/!view_mode')),
-        event: 'edit-internal.edit',
+        url: Drupal.quickedit.util.buildUrl(fieldID, Drupal.url('quickedit/form/!entity_type/!id/!field_name/!langcode/!view_mode')),
+        event: 'quickedit-internal.quickedit',
         submit: {
           nocssjs: options.nocssjs,
           reset: options.reset
         },
         progress: { type: null }, // No progress indicator.
         error: function (xhr, url) {
-          $el.off('edit-internal.edit');
+          $el.off('quickedit-internal.quickedit');
 
           // Show a modal to inform the user of the network error.
-          var fieldLabel = Drupal.edit.metadata.get(fieldID, 'label');
+          var fieldLabel = Drupal.quickedit.metadata.get(fieldID, 'label');
           var message = Drupal.t('Could not load the form for <q>@field-label</q>, either due to a website problem or a network connection problem.<br>Please try again.', { '@field-label': fieldLabel });
-          Drupal.edit.util.networkErrorModal(Drupal.t('Sorry!'), message);
+          Drupal.quickedit.util.networkErrorModal(Drupal.t('Sorry!'), message);
 
           // Change the state back to "candidate", to allow the user to start
           // in-place editing of the field again.
-          var fieldModel = Drupal.edit.app.model.get('activeField');
+          var fieldModel = Drupal.quickedit.app.model.get('activeField');
           fieldModel.set('state', 'candidate');
         }
       });
-      // Implement a scoped editFieldForm AJAX command: calls the callback.
-      formLoaderAjax.commands.editFieldForm = function (ajax, response, status) {
+      // Implement a scoped quickeditFieldForm AJAX command: calls the callback.
+      formLoaderAjax.commands.quickeditFieldForm = function (ajax, response, status) {
         callback(response.data, ajax);
-        $el.off('edit-internal.edit');
+        $el.off('quickedit-internal.quickedit');
         formLoaderAjax = null;
       };
-      // This will ensure our scoped editFieldForm AJAX command gets called.
-      $el.trigger('edit-internal.edit');
+      // This will ensure our scoped quickeditFieldForm AJAX command gets called.
+      $el.trigger('quickedit-internal.quickedit');
     },
 
     /**
@@ -141,7 +141,7 @@
       var settings = {
         url: $submit.closest('form').attr('action'),
         setClick: true,
-        event: 'click.edit',
+        event: 'click.quickedit',
         progress: { type: null },
         submit: {
           nocssjs: options.nocssjs,
@@ -165,10 +165,11 @@
      * Cleans up the Drupal.ajax instance that is used to save the form.
      *
      * @param Drupal.ajax ajax
-     *   A Drupal.ajax that was returned by Drupal.edit.form.ajaxifySaving().
+     *   A Drupal.ajax instance that was returned by
+     *   Drupal.quickedit.form.ajaxifySaving().
      */
     unajaxifySaving: function (ajax) {
-      $(ajax.element).off('click.edit');
+      $(ajax.element).off('click.quickedit');
     }
 
   };
diff --git a/core/modules/edit/js/views/AppView.js b/core/modules/quickedit/js/views/AppView.js
similarity index 92%
rename from core/modules/edit/js/views/AppView.js
rename to core/modules/quickedit/js/views/AppView.js
index 73ab7f8..c8ed95b 100644
--- a/core/modules/edit/js/views/AppView.js
+++ b/core/modules/quickedit/js/views/AppView.js
@@ -2,7 +2,7 @@
  * @file
  * A Backbone View that controls the overall "in-place editing application".
  *
- * @see Drupal.edit.AppModel
+ * @see Drupal.quickedit.AppModel
  */
 
 (function ($, _, Backbone, Drupal) {
@@ -14,23 +14,24 @@
   // edited fields if in-place editing has been canceled and one or more of the
   // entity's fields were saved to TempStore: one of them may have been changed to
   // the empty value and hence may have been rerendered as the empty string, which
-  // makes it impossible for Edit to know where to restore the original HTML.
+  // makes it impossible for Quick Edit to know where to restore the original
+  // HTML.
   var reload = false;
 
-  Drupal.edit.AppView = Backbone.View.extend({
+  Drupal.quickedit.AppView = Backbone.View.extend({
 
     /**
      * {@inheritdoc}
      *
      * @param Object options
      *   An object with the following keys:
-     *   - Drupal.edit.AppModel model: the application state model
-     *   - Drupal.edit.EntityCollection entitiesCollection: all on-page entities
-     *   - Drupal.edit.FieldCollection fieldsCollection: all on-page fields
+     *   - Drupal.quickedit.AppModel model: the application state model
+     *   - Drupal.quickedit.EntityCollection entitiesCollection: all on-page entities
+     *   - Drupal.quickedit.FieldCollection fieldsCollection: all on-page fields
      */
     initialize: function (options) {
       // AppView's configuration for handling states.
-      // @see Drupal.edit.FieldModel.states
+      // @see Drupal.quickedit.FieldModel.states
       this.activeFieldStates = ['activating', 'active'];
       this.singleFieldStates = ['highlighted', 'activating', 'active'];
       this.changedFieldStates = ['changed', 'saving', 'saved', 'invalid'];
@@ -56,10 +57,10 @@
     /**
      * Handles setup/teardown and state changes when the active entity changes.
      *
-     * @param Drupal.edit.EntityModel entityModel
+     * @param Drupal.quickedit.EntityModel entityModel
      *   An instance of the EntityModel class.
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.EntityModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.EntityModel.states.
      */
     appStateChange: function (entityModel, state) {
       var app = this;
@@ -68,7 +69,7 @@
         case 'launching':
           reload = false;
           // First, create an entity toolbar view.
-          entityToolbarView = new Drupal.edit.EntityToolbarView({
+          entityToolbarView = new Drupal.quickedit.EntityToolbarView({
             model: entityModel,
             appModel: this.model
           });
@@ -117,7 +118,7 @@
      *   The new state.
      * @param null|Object context
      *   The context that is trying to trigger the state change.
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   The fieldModel to which this change applies.
      */
     acceptEditorStateChange: function (from, to, context, fieldModel) {
@@ -135,7 +136,7 @@
         // In general, enforce the states sequence. Disallow going back from a
         // "later" state to an "earlier" state, except in explicitly allowed
         // cases.
-        if (!Drupal.edit.FieldModel.followsStateSequence(from, to)) {
+        if (!Drupal.quickedit.FieldModel.followsStateSequence(from, to)) {
           accept = false;
           // Allow: activating/active -> candidate.
           // Necessary to stop editing a field.
@@ -244,7 +245,7 @@
      *
      * Must happen before the fieldModel's state is changed to 'candidate'.
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   The field for which an in-place editor must be set up.
      */
     setupEditor: function (fieldModel) {
@@ -255,8 +256,8 @@
       var fieldToolbarRoot = entityToolbarView.getToolbarRoot();
       // Create in-place editor.
       var editorName = fieldModel.get('metadata').editor;
-      var editorModel = new Drupal.edit.EditorModel();
-      var editorView = new Drupal.edit.editors[editorName]({
+      var editorModel = new Drupal.quickedit.EditorModel();
+      var editorView = new Drupal.quickedit.editors[editorName]({
         el: $(fieldModel.get('el')),
         model: editorModel,
         fieldModel: fieldModel
@@ -265,7 +266,7 @@
       // Create in-place editor's toolbar for this field — stored inside the
       // entity toolbar, the entity toolbar will position itself appropriately
       // above (or below) the edited element.
-      var toolbarView = new Drupal.edit.FieldToolbarView({
+      var toolbarView = new Drupal.quickedit.FieldToolbarView({
         el: fieldToolbarRoot,
         model: fieldModel,
         $editedElement: $(editorView.getEditedElement()),
@@ -275,7 +276,7 @@
 
       // Create decoration for edited element: padding if necessary, sets classes
       // on the element to style it according to the current state.
-      var decorationView = new Drupal.edit.FieldDecorationView({
+      var decorationView = new Drupal.quickedit.FieldDecorationView({
         el: $(editorView.getEditedElement()),
         model: fieldModel,
         editorView: editorView
@@ -293,7 +294,7 @@
      *
      * Must happen after the fieldModel's state is changed to 'inactive'.
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   The field for which an in-place editor must be torn down.
      */
     teardownEditor: function (fieldModel) {
@@ -353,7 +354,7 @@
         var $unsavedChanges = $('<div>' + Drupal.t('You have unsaved changes') + '</div>');
         discardDialog = Drupal.dialog($unsavedChanges.get(0), {
           title: Drupal.t('Discard changes?'),
-          dialogClass: 'edit-discard-modal',
+          dialogClass: 'quickedit-discard-modal',
           resizable: false,
           buttons: [
             {
@@ -390,9 +391,9 @@
     /**
      * Reacts to field state changes; tracks global state.
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.FieldModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.FieldModel.states.
      */
     editorStateChange: function (fieldModel, state) {
       var from = fieldModel.previous('state');
@@ -422,7 +423,7 @@
     /**
      * Render an updated field (a field whose 'html' attribute changed).
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   The FieldModel whose 'html' attribute changed.
      * @param String html
      *   The updated 'html' attribute.
@@ -484,7 +485,7 @@
     /**
      * Propagates the changes to an updated field to all instances of that field.
      *
-     * @param Drupal.edit.FieldModel updatedField
+     * @param Drupal.quickedit.FieldModel updatedField
      *   The FieldModel whose 'html' attribute changed.
      * @param String html
      *   The updated 'html' attribute.
@@ -494,7 +495,7 @@
      *     occurred because of the propagation of changes to another instance of
      *     this field.
      *
-     * @see Drupal.edit.AppView.renderUpdatedField()
+     * @see Drupal.quickedit.AppView.renderUpdatedField()
      */
     propagateUpdatedField: function (updatedField, html, options) {
       // Don't propagate field updates that themselves were caused by propagation.
@@ -503,7 +504,7 @@
       }
 
       var htmlForOtherViewModes = updatedField.get('htmlForOtherViewModes');
-      Drupal.edit.collections.fields
+      Drupal.quickedit.collections.fields
         // Find all instances of fields that display the same logical field (same
         // entity, same field, just a different instance and maybe a different
         // view mode).
@@ -537,11 +538,11 @@
      *
      * This happens when a field was modified, saved and hence rerendered.
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      *   A field that was just added to the collection of fields.
      */
     rerenderedFieldToCandidate: function (fieldModel) {
-      var activeEntity = Drupal.edit.collections.entities.findWhere({isActive: true});
+      var activeEntity = Drupal.quickedit.collections.entities.findWhere({isActive: true});
 
       // Early-return if there is no active entity.
       if (!activeEntity) {
@@ -559,7 +560,7 @@
      * EntityModel Collection change handler, called on change:isActive, enforces
      * a single active entity.
      *
-     * @param Drupal.edit.EntityModel
+     * @param Drupal.quickedit.EntityModel
      *   The entityModel instance whose active state has changed.
      */
     enforceSingleActiveEntity: function (changedEntityModel) {
diff --git a/core/modules/edit/js/views/ContextualLinkView.js b/core/modules/quickedit/js/views/ContextualLinkView.js
similarity index 86%
rename from core/modules/edit/js/views/ContextualLinkView.js
rename to core/modules/quickedit/js/views/ContextualLinkView.js
index 6c21348..6e73be1 100644
--- a/core/modules/edit/js/views/ContextualLinkView.js
+++ b/core/modules/quickedit/js/views/ContextualLinkView.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.ContextualLinkView = Backbone.View.extend({
+  Drupal.quickedit.ContextualLinkView = Backbone.View.extend({
 
     events: function () {
       // Prevents delay and simulated mouse events.
@@ -29,8 +29,8 @@
      *
      * @param Object options
      *   An object with the following keys:
-     *   - Drupal.edit.EntityModel model: the associated entity's model
-     *   - Drupal.edit.AppModel appModel: the application state model
+     *   - Drupal.quickedit.EntityModel model: the associated entity's model
+     *   - Drupal.quickedit.AppModel appModel: the application state model
      *   - strings: the strings for the "Quick edit" link
      */
     initialize: function (options) {
diff --git a/core/modules/edit/js/views/EditorView.js b/core/modules/quickedit/js/views/EditorView.js
similarity index 76%
rename from core/modules/edit/js/views/EditorView.js
rename to core/modules/quickedit/js/views/EditorView.js
index 5108fcf..46bc424 100644
--- a/core/modules/edit/js/views/EditorView.js
+++ b/core/modules/quickedit/js/views/EditorView.js
@@ -13,12 +13,12 @@
    * Specific in-place editor implementations should subclass (extend) this View
    * and override whichever method they deem necessary to override.
    *
-   * Look at Drupal.edit.editors.form and Drupal.edit.editors.plain_text for
-   * examples.
+   * Look at Drupal.quickedit.editors.form and
+   * Drupal.quickedit.editors.plain_text for examples.
    *
-   * @see Drupal.edit.EditorModel
+   * @see Drupal.quickedit.EditorModel
    */
-  Drupal.edit.EditorView = Backbone.View.extend({
+  Drupal.quickedit.EditorView = Backbone.View.extend({
 
     /**
      * {@inheritdoc}
@@ -29,14 +29,14 @@
      *
      * If you override this method, you should call this method (the parent
      * class' initialize()) first, like this:
-     *   Drupal.edit.EditorView.prototype.initialize.call(this, options);
+     *   Drupal.quickedit.EditorView.prototype.initialize.call(this, options);
      *
-     * For an example, @see Drupal.edit.editors.plain_text.
+     * For an example, @see Drupal.quickedit.editors.plain_text.
      *
      * @param Object options
      *   An object with the following keys:
-     *   - Drupal.edit.EditorModel model: the in-place editor state model
-     *   - Drupal.edit.FieldModel fieldModel: the field model
+     *   - Drupal.quickedit.EditorModel model: the in-place editor state model
+     *   - Drupal.quickedit.FieldModel fieldModel: the field model
      */
     initialize: function (options) {
       this.fieldModel = options.fieldModel;
@@ -58,12 +58,12 @@
      *
      * For some single cardinality fields, it may be necessary or useful to
      * not in-place edit (and hence decorate) the DOM element with the
-     * data-edit-field-id attribute (which is the field's wrapper), but a specific
-     * element within the field's wrapper.
+     * data-quickedit-field-id attribute (which is the field's wrapper), but a
+     * specific element within the field's wrapper.
      * e.g. using a WYSIWYG editor on a body field should happen on the DOM
      * element containing the text itself, not on the field wrapper.
      *
-     * For example, @see Drupal.edit.editors.plain_text.
+     * For example, @see Drupal.quickedit.editors.plain_text.
      *
      * @return jQuery
      *   A jQuery-wrapped DOM element.
@@ -73,25 +73,26 @@
     },
 
     /**
-     * Returns 3 Edit UI settings that depend on the in-place editor:
+     * Returns 3 Quick Edit UI settings that depend on the in-place editor:
      *  - Boolean padding: indicates whether padding should be applied to the
      *    edited element, to guarantee legibility of text.
-     *  - Boolean unifiedToolbar: provides the in-place editor with the ability to
-     *    insert its own toolbar UI into Edit's tightly integrated toolbar.
-     *  - Boolean fullWidthToolbar: indicates whether Edit's tightly integrated
-     *    toolbar should consume the full width of the element, rather than being
-     *    just long enough to accommodate a label.
+     *  - Boolean unifiedToolbar: provides the in-place editor with the ability
+     *    to insert its own toolbar UI into Quick Edit's tightly integrated
+     *    toolbar.
+     *  - Boolean fullWidthToolbar: indicates whether Quick Edit's tightly
+     *    integrated toolbar should consume the full width of the element,
+     *    rather than being just long enough to accommodate a label.
      */
-    getEditUISettings: function () {
+    getQuickEditUISettings: function () {
       return { padding: false, unifiedToolbar: false, fullWidthToolbar: false, popup: false };
     },
 
     /**
      * Determines the actions to take given a change of state.
      *
-     * @param Drupal.edit.FieldModel fieldModel
+     * @param Drupal.quickedit.FieldModel fieldModel
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.FieldModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.FieldModel.states.
      */
     stateChange: function (fieldModel, state) {
       var from = fieldModel.previous('state');
@@ -178,7 +179,7 @@
     save: function () {
       var fieldModel = this.fieldModel;
       var editorModel = this.model;
-      var backstageId = 'edit_backstage-' + this.fieldModel.id.replace(/[\/\[\]\_\s]/g, '-');
+      var backstageId = 'quickedit_backstage-' + this.fieldModel.id.replace(/[\/\[\]\_\s]/g, '-');
 
       function fillAndSubmitForm(value) {
         var $form = $('#' + backstageId).find('form');
@@ -188,7 +189,7 @@
           // Don't mess with the node summary.
           .not('[name$="\\[summary\\]"]').val(value);
         // Submit the form.
-        $form.find('.edit-form-submit').trigger('click.edit');
+        $form.find('.quickedit-form-submit').trigger('click.quickedit');
       }
 
       var formOptions = {
@@ -206,11 +207,11 @@
       };
 
       var self = this;
-      Drupal.edit.util.form.load(formOptions, function (form, ajax) {
+      Drupal.quickedit.util.form.load(formOptions, function (form, ajax) {
         // Create a backstage area for storing forms that are hidden from view
         // (hence "backstage" — since the editing doesn't happen in the form, it
         // happens "directly" in the content, the form is only used for saving).
-        var $backstage = $(Drupal.theme('editBackstage', { id: backstageId })).appendTo('body');
+        var $backstage = $(Drupal.theme('quickeditBackstage', { id: backstageId })).appendTo('body');
         // Hidden forms are stuffed into the backstage container for this field.
         var $form = $(form).appendTo($backstage);
         // Disable the browser's HTML5 validation; we only care about server-
@@ -218,17 +219,17 @@
         // because browsers don't like to set HTML5 validation errors on hidden
         // forms.)
         $form.prop('novalidate', true);
-        var $submit = $form.find('.edit-form-submit');
-        self.formSaveAjax = Drupal.edit.util.form.ajaxifySaving(formOptions, $submit);
+        var $submit = $form.find('.quickedit-form-submit');
+        self.formSaveAjax = Drupal.quickedit.util.form.ajaxifySaving(formOptions, $submit);
 
         function removeHiddenForm() {
-          Drupal.edit.util.form.unajaxifySaving(self.formSaveAjax);
+          Drupal.quickedit.util.form.unajaxifySaving(self.formSaveAjax);
           delete self.formSaveAjax;
           $backstage.remove();
         }
 
         // Successfully saved.
-        self.formSaveAjax.commands.editFieldFormSaved = function (ajax, response, status) {
+        self.formSaveAjax.commands.quickeditFieldFormSaved = function (ajax, response, status) {
           removeHiddenForm();
           // First, transition the state to 'saved'.
           fieldModel.set('state', 'saved');
@@ -242,18 +243,19 @@
         };
 
         // Unsuccessfully saved; validation errors.
-        self.formSaveAjax.commands.editFieldFormValidationErrors = function (ajax, response, status) {
+        self.formSaveAjax.commands.quickeditFieldFormValidationErrors = function (ajax, response, status) {
           removeHiddenForm();
           editorModel.set('validationErrors', response.data);
           fieldModel.set('state', 'invalid');
         };
 
-        // The editFieldForm AJAX command is only called upon loading the form
-        // for the first time, and when there are validation errors in the form;
-        // Form API then marks which form items have errors. This is useful for
-        // the form-based in-place editor, but pointless for any other: the form
-        // itself won't be visible at all anyway! So, we just ignore it.
-        self.formSaveAjax.commands.editFieldForm = function () {};
+        // The quickeditFieldForm AJAX command is only called upon loading the
+        // form for the first time, and when there are validation errors in the
+        // form; Form API then marks which form items have errors. This is
+        // useful for the form-based in-place editor, but pointless for any
+        // other: the form itself won't be visible at all anyway! So, we just
+        // ignore it.
+        self.formSaveAjax.commands.quickeditFieldForm = function () {};
 
         fillAndSubmitForm(editorModel.get('currentValue'));
       });
@@ -265,10 +267,10 @@
      * Should be called when the state is changed to 'invalid'.
      */
     showValidationErrors: function () {
-      var $errors = $('<div class="edit-validation-errors"></div>')
+      var $errors = $('<div class="quickedit-validation-errors"></div>')
         .append(this.model.get('validationErrors'));
       this.getEditedElement()
-        .addClass('edit-validation-error')
+        .addClass('quickedit-validation-error')
         .after($errors);
     },
 
@@ -282,8 +284,8 @@
      */
     removeValidationErrors: function () {
       this.getEditedElement()
-        .removeClass('edit-validation-error')
-        .next('.edit-validation-errors')
+        .removeClass('quickedit-validation-error')
+        .next('.quickedit-validation-errors')
         .remove();
     }
 
diff --git a/core/modules/edit/js/views/EntityDecorationView.js b/core/modules/quickedit/js/views/EntityDecorationView.js
similarity index 80%
rename from core/modules/edit/js/views/EntityDecorationView.js
rename to core/modules/quickedit/js/views/EntityDecorationView.js
index 309718f..69a4767 100644
--- a/core/modules/edit/js/views/EntityDecorationView.js
+++ b/core/modules/quickedit/js/views/EntityDecorationView.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.EntityDecorationView = Backbone.View.extend({
+  Drupal.quickedit.EntityDecorationView = Backbone.View.extend({
 
     /**
      * {@inheritdoc}
@@ -22,7 +22,7 @@
      * {@inheritdoc}
      */
     render: function () {
-      this.$el.toggleClass('edit-entity-active', this.model.get('isActive'));
+      this.$el.toggleClass('quickedit-entity-active', this.model.get('isActive'));
     },
 
     /**
diff --git a/core/modules/edit/js/views/EntityToolbarView.js b/core/modules/quickedit/js/views/EntityToolbarView.js
similarity index 87%
rename from core/modules/edit/js/views/EntityToolbarView.js
rename to core/modules/quickedit/js/views/EntityToolbarView.js
index 064c6cd..c9abd94 100644
--- a/core/modules/edit/js/views/EntityToolbarView.js
+++ b/core/modules/quickedit/js/views/EntityToolbarView.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.EntityToolbarView = Backbone.View.extend({
+  Drupal.quickedit.EntityToolbarView = Backbone.View.extend({
 
     _fieldToolbarRoot: null,
 
@@ -37,11 +37,11 @@
 
       // Reposition the entity toolbar as the viewport and the position within the
       // viewport changes.
-      $(window).on('resize.edit scroll.edit', debounce($.proxy(this.windowChangeHandler, this), 150));
+      $(window).on('resize.quickedit scroll.quickedit', debounce($.proxy(this.windowChangeHandler, this), 150));
 
       // Adjust the fence placement within which the entity toolbar may be
       // positioned.
-      $(document).on('drupalViewportOffsetChange.edit', function (event, offsets) {
+      $(document).on('drupalViewportOffsetChange.quickedit', function (event, offsets) {
         if (that.$fence) {
           that.$fence.css(offsets);
         }
@@ -50,7 +50,7 @@
       // Set the entity toolbar DOM element as the el for this view.
       var $toolbar = this.buildToolbarEl();
       this.setElement($toolbar);
-      this._fieldToolbarRoot = $toolbar.find('.edit-toolbar-field').get(0);
+      this._fieldToolbarRoot = $toolbar.find('.quickedit-toolbar-field').get(0);
 
       // Initial render.
       this.render();
@@ -63,13 +63,13 @@
       if (this.model.get('isActive')) {
         // If the toolbar container doesn't exist, create it.
         var $body = $('body');
-        if ($body.children('#edit-entity-toolbar').length === 0) {
+        if ($body.children('#quickedit-entity-toolbar').length === 0) {
           $body.append(this.$el);
         }
         // The fence will define a area on the screen that the entity toolbar
         // will be position within.
-        if ($body.children('#edit-toolbar-fence').length === 0) {
-          this.$fence = $(Drupal.theme('editEntityToolbarFence'))
+        if ($body.children('#quickedit-toolbar-fence').length === 0) {
+          this.$fence = $(Drupal.theme('quickeditEntityToolbarFence'))
             .css(Drupal.displace())
             .appendTo($body);
         }
@@ -84,7 +84,7 @@
       }
 
       // The save button text and state varies with the state of the entity model.
-      var $button = this.$el.find('.edit-button.action-save');
+      var $button = this.$el.find('.quickedit-button.action-save');
       var isDirty = this.model.get('isDirty');
       // Adjust the save button according to the state of the model.
       switch (this.model.get('state')) {
@@ -121,8 +121,8 @@
       this.$fence.remove();
 
       // Stop listening to additional events.
-      $(window).off('resize.edit scroll.edit');
-      $(document).off('drupalViewportOffsetChange.edit');
+      $(window).off('resize.quickedit scroll.quickedit');
+      $(document).off('drupalViewportOffsetChange.quickedit');
 
       Backbone.View.prototype.remove.call(this);
     },
@@ -139,9 +139,9 @@
     /**
      * Determines the actions to take given a change of state.
      *
-     * @param Drupal.edit.FieldModel model
+     * @param Drupal.quickedit.FieldModel model
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.FieldModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.FieldModel.states.
      */
     fieldStateChange: function (model, state) {
       switch (state) {
@@ -186,19 +186,19 @@
             break;
           case 1:
             // Position against a form container.
-            activeField = Drupal.edit.app.model.get('activeField');
-            of = activeField && activeField.editorView && activeField.editorView.$formContainer && activeField.editorView.$formContainer.find('.edit-form');
+            activeField = Drupal.quickedit.app.model.get('activeField');
+            of = activeField && activeField.editorView && activeField.editorView.$formContainer && activeField.editorView.$formContainer.find('.quickedit-form');
             break;
           case 2:
             // Position against an active field.
             of = activeField && activeField.editorView && activeField.editorView.getEditedElement();
-            if (activeField && activeField.editorView && activeField.editorView.getEditUISettings().padding) {
+            if (activeField && activeField.editorView && activeField.editorView.getQuickEditUISettings().padding) {
               horizontalPadding = 5;
             }
             break;
           case 3:
             // Position against a highlighted field.
-            highlightedField = Drupal.edit.app.model.get('highlightedField');
+            highlightedField = Drupal.quickedit.app.model.get('highlightedField');
             of = highlightedField && highlightedField.editorView && highlightedField.editorView.getEditedElement();
             delay = 250;
             break;
@@ -234,13 +234,13 @@
       function refinePosition(view, suggested, info) {
         // Determine if the pointer should be on the top or bottom.
         var isBelow = suggested.top > info.target.top;
-        info.element.element.toggleClass('edit-toolbar-pointer-top', isBelow);
+        info.element.element.toggleClass('quickedit-toolbar-pointer-top', isBelow);
         // Don't position the toolbar past the first or last editable field if
         // the entity is the target.
         if (view.$entity[0] === info.target.element[0]) {
           // Get the first or last field according to whether the toolbar is above
           // or below the entity.
-          var $field = view.$entity.find('.edit-editable').eq((isBelow) ? -1 : 0);
+          var $field = view.$entity.find('.quickedit-editable').eq((isBelow) ? -1 : 0);
           if ($field.length > 0) {
             suggested.top = (isBelow) ? ($field.offset().top + $field.outerHeight(true)) : $field.offset().top - info.element.element.outerHeight(true);
           }
@@ -339,27 +339,27 @@
      * Builds the entity toolbar HTML; attaches to DOM; sets starting position.
      */
     buildToolbarEl: function () {
-      var $toolbar = $(Drupal.theme('editEntityToolbar', {
-        id: 'edit-entity-toolbar'
+      var $toolbar = $(Drupal.theme('quickeditEntityToolbar', {
+        id: 'quickedit-entity-toolbar'
       }));
 
       $toolbar
-        .find('.edit-toolbar-entity')
+        .find('.quickedit-toolbar-entity')
         // Append the "ops" toolgroup into the toolbar.
-        .prepend(Drupal.theme('editToolgroup', {
+        .prepend(Drupal.theme('quickeditToolgroup', {
           classes: ['ops'],
           buttons: [
             {
               label: Drupal.t('Save'),
               type: 'submit',
-              classes: 'action-save edit-button icon',
+              classes: 'action-save quickedit-button icon',
               attributes: {
                 'aria-hidden': true
               }
             },
             {
               label: Drupal.t('Close'),
-              classes: 'action-cancel edit-button icon icon-close icon-only'
+              classes: 'action-cancel quickedit-button icon icon-close icon-only'
             }
           ]
         }));
@@ -394,20 +394,20 @@
       var entityLabel = this.model.get('label');
 
       // Label of an active field, if it exists.
-      var activeField = Drupal.edit.app.model.get('activeField');
+      var activeField = Drupal.quickedit.app.model.get('activeField');
       var activeFieldLabel = activeField && activeField.get('metadata').label;
       // Label of a highlighted field, if it exists.
-      var highlightedField = Drupal.edit.app.model.get('highlightedField');
+      var highlightedField = Drupal.quickedit.app.model.get('highlightedField');
       var highlightedFieldLabel = highlightedField && highlightedField.get('metadata').label;
       // The label is constructed in a priority order.
       if (activeFieldLabel) {
-        label = Drupal.theme('editEntityToolbarLabel', {
+        label = Drupal.theme('quickeditEntityToolbarLabel', {
           entityLabel: entityLabel,
           fieldLabel: activeFieldLabel
         });
       }
       else if (highlightedFieldLabel) {
-        label = Drupal.theme('editEntityToolbarLabel', {
+        label = Drupal.theme('quickeditEntityToolbarLabel', {
           entityLabel: entityLabel,
           fieldLabel: highlightedFieldLabel
         });
@@ -417,7 +417,7 @@
       }
 
       this.$el
-        .find('.edit-toolbar-label')
+        .find('.quickedit-toolbar-label')
         .html(label);
     },
 
@@ -456,7 +456,7 @@
      *   The toolgroup DOM element.
      */
     _find: function (toolgroup) {
-      return this.$el.find('.edit-toolbar .edit-toolgroup.' + toolgroup);
+      return this.$el.find('.quickedit-toolbar .quickedit-toolgroup.' + toolgroup);
     },
 
     /**
@@ -466,7 +466,7 @@
      *   A toolgroup name.
      */
     show: function (toolgroup) {
-      this.$el.removeClass('edit-animate-invisible');
+      this.$el.removeClass('quickedit-animate-invisible');
     }
 
   });
diff --git a/core/modules/edit/js/views/FieldDecorationView.js b/core/modules/quickedit/js/views/FieldDecorationView.js
similarity index 83%
rename from core/modules/edit/js/views/FieldDecorationView.js
rename to core/modules/quickedit/js/views/FieldDecorationView.js
index e873e45..9e85c02 100644
--- a/core/modules/edit/js/views/FieldDecorationView.js
+++ b/core/modules/quickedit/js/views/FieldDecorationView.js
@@ -7,16 +7,16 @@
 
   "use strict";
 
-  Drupal.edit.FieldDecorationView = Backbone.View.extend({
+  Drupal.quickedit.FieldDecorationView = Backbone.View.extend({
 
     _widthAttributeIsEmpty: null,
 
     events: {
-      'mouseenter.edit': 'onMouseEnter',
-      'mouseleave.edit': 'onMouseLeave',
+      'mouseenter.quickedit': 'onMouseEnter',
+      'mouseleave.quickedit': 'onMouseLeave',
       'click': 'onClick',
-      'tabIn.edit': 'onMouseEnter',
-      'tabOut.edit': 'onMouseLeave'
+      'tabIn.quickedit': 'onMouseEnter',
+      'tabOut.quickedit': 'onMouseLeave'
     },
 
     /**
@@ -24,7 +24,7 @@
      *
      * @param Object options
      *   An object with the following keys:
-     *   - Drupal.edit.EditorView editorView: the editor object view.
+     *   - Drupal.quickedit.EditorView editorView: the editor object view.
      */
     initialize: function (options) {
       this.editorView = options.editorView;
@@ -46,9 +46,9 @@
     /**
      * Determines the actions to take given a change of state.
      *
-     * @param Drupal.edit.FieldModel model
+     * @param Drupal.quickedit.FieldModel model
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.FieldModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.FieldModel.states.
      */
     stateChange: function (model, state) {
       var from = model.previous('state');
@@ -80,7 +80,7 @@
           if (from !== 'activating') {
             this.prepareEdit();
           }
-          if (this.editorView.getEditUISettings().padding) {
+          if (this.editorView.getQuickEditUISettings().padding) {
             this._pad();
           }
           break;
@@ -102,7 +102,7 @@
      * changed and stored before by the user (i.e. remotely, stored in TempStore).
      */
     renderChanged: function () {
-      this.$el.toggleClass('edit-changed', this.model.get('isChanged') || this.model.get('inTempStore'));
+      this.$el.toggleClass('quickedit-changed', this.model.get('isChanged') || this.model.get('inTempStore'));
     },
 
     /**
@@ -142,14 +142,14 @@
      * Adds classes used to indicate an elements editable state.
      */
     decorate: function () {
-      this.$el.addClass('edit-candidate edit-editable');
+      this.$el.addClass('quickedit-candidate quickedit-editable');
     },
 
     /**
      * Removes classes used to indicate an elements editable state.
      */
     undecorate: function () {
-      this.$el.removeClass('edit-candidate edit-editable edit-highlighted edit-editing');
+      this.$el.removeClass('quickedit-candidate quickedit-editable quickedit-highlighted quickedit-editing');
     },
 
     /**
@@ -159,26 +159,26 @@
       // Animations.
       var that = this;
       // Use a timeout to grab the next available animation frame.
-      that.$el.addClass('edit-highlighted');
+      that.$el.addClass('quickedit-highlighted');
     },
 
     /**
      * Removes the class that indicates that an element is highlighted.
      */
     stopHighlight: function () {
-      this.$el.removeClass('edit-highlighted');
+      this.$el.removeClass('quickedit-highlighted');
     },
 
     /**
      * Removes the class that indicates that an element as editable.
      */
     prepareEdit: function () {
-      this.$el.addClass('edit-editing');
+      this.$el.addClass('quickedit-editing');
 
       // Allow the field to be styled differently while editing in a pop-up
       // in-place editor.
-      if (this.editorView.getEditUISettings().popup) {
-        this.$el.addClass('edit-editor-is-popup');
+      if (this.editorView.getQuickEditUISettings().popup) {
+        this.$el.addClass('quickedit-editor-is-popup');
       }
     },
 
@@ -189,15 +189,15 @@
      * again available to be edited.
      */
     stopEdit: function () {
-      this.$el.removeClass('edit-highlighted edit-editing');
+      this.$el.removeClass('quickedit-highlighted quickedit-editing');
 
       // Done editing in a pop-up in-place editor; remove the class.
-      if (this.editorView.getEditUISettings().popup) {
-        this.$el.removeClass('edit-editor-is-popup');
+      if (this.editorView.getQuickEditUISettings().popup) {
+        this.$el.removeClass('quickedit-editor-is-popup');
       }
 
       // Make the other editors show up again.
-      $('.edit-candidate').addClass('edit-editable');
+      $('.quickedit-candidate').addClass('quickedit-editable');
     },
 
     /**
@@ -205,7 +205,7 @@
      */
     _pad: function () {
       // Early return if the element has already been padded.
-      if (this.$el.data('edit-padded')) {
+      if (this.$el.data('quickedit-padded')) {
         return;
       }
       var self = this;
@@ -217,7 +217,7 @@
       if (this.$el[0].style.width === "") {
         this._widthAttributeIsEmpty = true;
         this.$el
-          .addClass('edit-animate-disable-width')
+          .addClass('quickedit-animate-disable-width')
           .css('width', this.$el.width())
           .css('background-color', this._getBgColor(this.$el));
       }
@@ -226,7 +226,7 @@
       var posProp = this._getPositionProperties(this.$el);
       setTimeout(function () {
         // Re-enable width animations (padding changes affect width too!).
-        self.$el.removeClass('edit-animate-disable-width');
+        self.$el.removeClass('quickedit-animate-disable-width');
 
         // Pad the editable.
         self.$el
@@ -240,7 +240,7 @@
             'padding-bottom': posProp['padding-bottom'] + 5 + 'px',
             'margin-bottom': posProp['margin-bottom'] - 10 + 'px'
           })
-          .data('edit-padded', true);
+          .data('quickedit-padded', true);
       }, 0);
     },
 
@@ -249,7 +249,7 @@
      */
     _unpad: function () {
       // Early return if the element has not been padded.
-      if (!this.$el.data('edit-padded')) {
+      if (!this.$el.data('quickedit-padded')) {
         return;
       }
       var self = this;
@@ -257,7 +257,7 @@
       // 1) Set the empty width again.
       if (this._widthAttributeIsEmpty) {
         this.$el
-          .addClass('edit-animate-disable-width')
+          .addClass('quickedit-animate-disable-width')
           .css('width', '')
           .css('background-color', '');
       }
@@ -267,7 +267,7 @@
       var posProp = this._getPositionProperties(this.$el);
       setTimeout(function () {
         // Re-enable width animations (padding changes affect width too!).
-        self.$el.removeClass('edit-animate-disable-width');
+        self.$el.removeClass('quickedit-animate-disable-width');
 
         // Unpad the editable.
         self.$el
@@ -286,7 +286,7 @@
       // done outside the timed out function above so that we don't get numerous
       // queued functions that will remove padding before the data marker has
       // been removed.
-      this.$el.removeData('edit-padded');
+      this.$el.removeData('quickedit-padded');
     },
 
     /**
diff --git a/core/modules/edit/js/views/FieldToolbarView.js b/core/modules/quickedit/js/views/FieldToolbarView.js
similarity index 74%
rename from core/modules/edit/js/views/FieldToolbarView.js
rename to core/modules/quickedit/js/views/FieldToolbarView.js
index 55fcf37..24676ed 100644
--- a/core/modules/edit/js/views/FieldToolbarView.js
+++ b/core/modules/quickedit/js/views/FieldToolbarView.js
@@ -7,7 +7,7 @@
 
   "use strict";
 
-  Drupal.edit.FieldToolbarView = Backbone.View.extend({
+  Drupal.quickedit.FieldToolbarView = Backbone.View.extend({
 
     // The edited element, as indicated by EditorView.getEditedElement().
     $editedElement: null,
@@ -26,7 +26,7 @@
       this.$root = this.$el;
 
       // Generate a DOM-compatible ID for the form container DOM element.
-      this._id = 'edit-toolbar-for-' + this.model.id.replace(/[\/\[\]]/g, '_');
+      this._id = 'quickedit-toolbar-for-' + this.model.id.replace(/[\/\[\]]/g, '_');
 
       this.listenTo(this.model, 'change:state', this.stateChange);
     },
@@ -36,7 +36,7 @@
      */
     render: function () {
       // Render toolbar and set it as the view's element.
-      this.setElement($(Drupal.theme('editFieldToolbar', {
+      this.setElement($(Drupal.theme('quickeditFieldToolbar', {
         id: this._id
       })));
 
@@ -49,9 +49,9 @@
     /**
      * Determines the actions to take given a change of state.
      *
-     * @param Drupal.edit.FieldModel model
+     * @param Drupal.quickedit.FieldModel model
      * @param String state
-     *   The state of the associated field. One of Drupal.edit.FieldModel.states.
+     *   The state of the associated field. One of Drupal.quickedit.FieldModel.states.
      */
     stateChange: function (model, state) {
       var from = model.previous('state');
@@ -73,11 +73,11 @@
         case 'activating':
           this.render();
 
-          if (this.editorView.getEditUISettings().fullWidthToolbar) {
-            this.$el.addClass('edit-toolbar-fullwidth');
+          if (this.editorView.getQuickEditUISettings().fullWidthToolbar) {
+            this.$el.addClass('quickedit-toolbar-fullwidth');
           }
 
-          if (this.editorView.getEditUISettings().unifiedToolbar) {
+          if (this.editorView.getQuickEditUISettings().unifiedToolbar) {
             this.insertWYSIWYGToolGroups();
           }
           break;
@@ -99,14 +99,14 @@
      */
     insertWYSIWYGToolGroups: function () {
       this.$el
-        .append(Drupal.theme('editToolgroup', {
+        .append(Drupal.theme('quickeditToolgroup', {
           id: this.getFloatedWysiwygToolgroupId(),
-          classes: ['wysiwyg-floated', 'edit-animate-slow', 'edit-animate-invisible', 'edit-animate-delay-veryfast'],
+          classes: ['wysiwyg-floated', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'],
           buttons: []
         }))
-        .append(Drupal.theme('editToolgroup', {
+        .append(Drupal.theme('quickeditToolgroup', {
           id: this.getMainWysiwygToolgroupId(),
-          classes: ['wysiwyg-main', 'edit-animate-slow', 'edit-animate-invisible', 'edit-animate-delay-veryfast'],
+          classes: ['wysiwyg-main', 'quickedit-animate-slow', 'quickedit-animate-invisible', 'quickedit-animate-delay-veryfast'],
           buttons: []
         }));
 
@@ -124,7 +124,7 @@
      *   A string that can be used as the ID for this toolbar's container.
      */
     getId: function () {
-      return 'edit-toolbar-for-' + this._id;
+      return 'quickedit-toolbar-for-' + this._id;
     },
 
     /**
@@ -136,7 +136,7 @@
      *   A string that can be used as the ID.
      */
     getFloatedWysiwygToolgroupId: function () {
-      return 'edit-wysiwyg-floated-toolgroup-for-' + this._id;
+      return 'quickedit-wysiwyg-floated-toolgroup-for-' + this._id;
     },
 
     /**
@@ -148,7 +148,7 @@
      *   A string that can be used as the ID.
      */
     getMainWysiwygToolgroupId: function () {
-      return 'edit-wysiwyg-main-toolgroup-for-' + this._id;
+      return 'quickedit-wysiwyg-main-toolgroup-for-' + this._id;
     },
 
     /**
@@ -159,7 +159,7 @@
      * @return jQuery
      */
     _find: function (toolgroup) {
-      return this.$el.find('.edit-toolgroup.' + toolgroup);
+      return this.$el.find('.quickedit-toolgroup.' + toolgroup);
     },
 
     /**
@@ -172,14 +172,14 @@
       var $group = this._find(toolgroup);
       // Attach a transitionEnd event handler to the toolbar group so that update
       // events can be triggered after the animations have ended.
-      $group.on(Drupal.edit.util.constants.transitionEnd, function (event) {
-        $group.off(Drupal.edit.util.constants.transitionEnd);
+      $group.on(Drupal.quickedit.util.constants.transitionEnd, function (event) {
+        $group.off(Drupal.quickedit.util.constants.transitionEnd);
       });
       // The call to remove the class and start the animation must be started in
       // the next animation frame or the event handler attached above won't be
       // triggered.
       window.setTimeout(function () {
-        $group.removeClass('edit-animate-invisible');
+        $group.removeClass('quickedit-animate-invisible');
       }, 0);
     }
 
diff --git a/core/modules/edit/lib/Drupal/edit/Access/EditEntityAccessCheck.php b/core/modules/quickedit/lib/Drupal/quickedit/Access/EditEntityAccessCheck.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Access/EditEntityAccessCheck.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Access/EditEntityAccessCheck.php
diff --git a/core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheck.php b/core/modules/quickedit/lib/Drupal/quickedit/Access/EditEntityFieldAccessCheck.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheck.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Access/EditEntityFieldAccessCheck.php
diff --git a/core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheckInterface.php b/core/modules/quickedit/lib/Drupal/quickedit/Access/EditEntityFieldAccessCheckInterface.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Access/EditEntityFieldAccessCheckInterface.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Access/EditEntityFieldAccessCheckInterface.php
diff --git a/core/modules/edit/lib/Drupal/edit/Ajax/BaseCommand.php b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/BaseCommand.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Ajax/BaseCommand.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Ajax/BaseCommand.php
diff --git a/core/modules/edit/lib/Drupal/edit/Ajax/EntitySavedCommand.php b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/EntitySavedCommand.php
similarity index 89%
rename from core/modules/edit/lib/Drupal/edit/Ajax/EntitySavedCommand.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Ajax/EntitySavedCommand.php
index 6b6cc59..bd202a8 100644
--- a/core/modules/edit/lib/Drupal/edit/Ajax/EntitySavedCommand.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/EntitySavedCommand.php
@@ -22,7 +22,7 @@ class EntitySavedCommand extends BaseCommand {
    *   The data to pass on to the client side.
    */
   public function __construct($data) {
-    parent::__construct('editEntitySaved', $data);
+    parent::__construct('quickeditEntitySaved', $data);
   }
 
 }
diff --git a/core/modules/edit/lib/Drupal/edit/Ajax/FieldFormCommand.php b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormCommand.php
similarity index 72%
rename from core/modules/edit/lib/Drupal/edit/Ajax/FieldFormCommand.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormCommand.php
index 781e2ff..c6db7dc 100644
--- a/core/modules/edit/lib/Drupal/edit/Ajax/FieldFormCommand.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormCommand.php
@@ -10,7 +10,8 @@
 use Drupal\Core\Ajax\CommandInterface;
 
 /**
- * AJAX command for passing a rendered field form to Edit's JavaScript app.
+ * AJAX command for passing a rendered field form to Quick Edit's JavaScript
+ * app.
  */
 class FieldFormCommand extends BaseCommand {
 
@@ -21,7 +22,7 @@ class FieldFormCommand extends BaseCommand {
    *   The data to pass on to the client side.
    */
   public function __construct($data) {
-    parent::__construct('editFieldForm', $data);
+    parent::__construct('quickeditFieldForm', $data);
   }
 
 }
diff --git a/core/modules/edit/lib/Drupal/edit/Ajax/FieldFormSavedCommand.php b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormSavedCommand.php
similarity index 89%
rename from core/modules/edit/lib/Drupal/edit/Ajax/FieldFormSavedCommand.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormSavedCommand.php
index 7e2b57f..40b3f57 100644
--- a/core/modules/edit/lib/Drupal/edit/Ajax/FieldFormSavedCommand.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormSavedCommand.php
@@ -11,7 +11,7 @@
 
 /**
  * AJAX command to indicate a field was saved into TempStore without validation
- * errors and pass the rerendered field to Edit's JavaScript app.
+ * errors and pass the rerendered field to Quick Edit's JavaScript app.
  */
 class FieldFormSavedCommand extends BaseCommand {
 
@@ -32,7 +32,7 @@ class FieldFormSavedCommand extends BaseCommand {
    *   instances of the same field on the user's page. Keyed by view mode.
    */
   public function __construct($data, $other_view_modes = array()) {
-    parent::__construct('editFieldFormSaved', $data);
+    parent::__construct('quickeditFieldFormSaved', $data);
 
     $this->other_view_modes = $other_view_modes;
   }
diff --git a/core/modules/edit/lib/Drupal/edit/Ajax/FieldFormValidationErrorsCommand.php b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormValidationErrorsCommand.php
similarity index 88%
rename from core/modules/edit/lib/Drupal/edit/Ajax/FieldFormValidationErrorsCommand.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormValidationErrorsCommand.php
index a44be4b..5004161 100644
--- a/core/modules/edit/lib/Drupal/edit/Ajax/FieldFormValidationErrorsCommand.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Ajax/FieldFormValidationErrorsCommand.php
@@ -22,7 +22,7 @@ class FieldFormValidationErrorsCommand extends BaseCommand {
    *   The data to pass on to the client side.
    */
   public function __construct($data) {
-    parent::__construct('editFieldFormValidationErrors', $data);
+    parent::__construct('quickeditFieldFormValidationErrors', $data);
   }
 
 }
diff --git a/core/modules/edit/lib/Drupal/edit/Annotation/InPlaceEditor.php b/core/modules/quickedit/lib/Drupal/quickedit/Annotation/InPlaceEditor.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Annotation/InPlaceEditor.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Annotation/InPlaceEditor.php
diff --git a/core/modules/edit/lib/Drupal/edit/EditorSelector.php b/core/modules/quickedit/lib/Drupal/quickedit/EditorSelector.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/EditorSelector.php
rename to core/modules/quickedit/lib/Drupal/quickedit/EditorSelector.php
diff --git a/core/modules/edit/lib/Drupal/edit/EditorSelectorInterface.php b/core/modules/quickedit/lib/Drupal/quickedit/EditorSelectorInterface.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/EditorSelectorInterface.php
rename to core/modules/quickedit/lib/Drupal/quickedit/EditorSelectorInterface.php
diff --git a/core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php b/core/modules/quickedit/lib/Drupal/quickedit/Form/QuickEditFieldForm.php
similarity index 99%
rename from core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Form/QuickEditFieldForm.php
index d292107..56e3757 100644
--- a/core/modules/edit/lib/Drupal/edit/Form/EditFieldForm.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Form/QuickEditFieldForm.php
@@ -104,7 +104,7 @@ public function buildForm(array $form, array &$form_state, EntityInterface $enti
     $form['actions']['submit'] = array(
       '#type' => 'submit',
       '#value' => t('Save'),
-      '#attributes' => array('class' => array('edit-form-submit')),
+      '#attributes' => array('class' => array('quickedit-form-submit')),
     );
 
     // Simplify it for optimal in-place use.
diff --git a/core/modules/edit/lib/Drupal/edit/MetadataGenerator.php b/core/modules/quickedit/lib/Drupal/quickedit/MetadataGenerator.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/MetadataGenerator.php
rename to core/modules/quickedit/lib/Drupal/quickedit/MetadataGenerator.php
diff --git a/core/modules/edit/lib/Drupal/edit/MetadataGeneratorInterface.php b/core/modules/quickedit/lib/Drupal/quickedit/MetadataGeneratorInterface.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/MetadataGeneratorInterface.php
rename to core/modules/quickedit/lib/Drupal/quickedit/MetadataGeneratorInterface.php
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditor/FormEditor.php b/core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditor/FormEditor.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditor/FormEditor.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditor/FormEditor.php
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditor/PlainTextEditor.php b/core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditor/PlainTextEditor.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditor/PlainTextEditor.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditor/PlainTextEditor.php
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditorBase.php b/core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditorBase.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditorBase.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditorBase.php
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditorInterface.php b/core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditorInterface.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditorInterface.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditorInterface.php
diff --git a/core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditorManager.php b/core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditorManager.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Plugin/InPlaceEditorManager.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Plugin/InPlaceEditorManager.php
diff --git a/core/modules/edit/lib/Drupal/edit/EditController.php b/core/modules/quickedit/lib/Drupal/quickedit/QuickEditController.php
similarity index 99%
rename from core/modules/edit/lib/Drupal/edit/EditController.php
rename to core/modules/quickedit/lib/Drupal/quickedit/QuickEditController.php
index c977f31..99beecf 100644
--- a/core/modules/edit/lib/Drupal/edit/EditController.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/QuickEditController.php
@@ -22,7 +22,7 @@
 use Drupal\user\TempStoreFactory;
 
 /**
- * Returns responses for Edit module routes.
+ * Returns responses for Quick Edit module routes.
  */
 class EditController extends ControllerBase {
 
diff --git a/core/modules/edit/lib/Drupal/edit/Tests/EditorSelectionTest.php b/core/modules/quickedit/lib/Drupal/quickedit/Tests/EditorSelectionTest.php
similarity index 99%
rename from core/modules/edit/lib/Drupal/edit/Tests/EditorSelectionTest.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Tests/EditorSelectionTest.php
index edd1089..392163b 100644
--- a/core/modules/edit/lib/Drupal/edit/Tests/EditorSelectionTest.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Tests/EditorSelectionTest.php
@@ -46,7 +46,7 @@ protected function setUp() {
   }
 
   /**
-   * Returns the in-place editor that Edit selects.
+   * Returns the in-place editor that Quick Edit selects.
    */
   protected function getSelectedEditor($entity_id, $field_name, $view_mode = 'default') {
     $entity = entity_load('entity_test', $entity_id, TRUE);
diff --git a/core/modules/edit/lib/Drupal/edit/Tests/MetadataGeneratorTest.php b/core/modules/quickedit/lib/Drupal/quickedit/Tests/MetadataGeneratorTest.php
similarity index 100%
rename from core/modules/edit/lib/Drupal/edit/Tests/MetadataGeneratorTest.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Tests/MetadataGeneratorTest.php
diff --git a/core/modules/edit/lib/Drupal/edit/Tests/EditAutocompleteTermTest.php b/core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditAutocompleteTermTest.php
similarity index 91%
rename from core/modules/edit/lib/Drupal/edit/Tests/EditAutocompleteTermTest.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditAutocompleteTermTest.php
index 803b0e3..347d918 100644
--- a/core/modules/edit/lib/Drupal/edit/Tests/EditAutocompleteTermTest.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditAutocompleteTermTest.php
@@ -135,14 +135,14 @@ protected function setUp() {
   }
 
   /**
-   * Tests Edit autocomplete term behavior.
+   * Tests Quick Edit autocomplete term behavior.
    */
   public function testAutocompleteEdit() {
     $this->drupalLogin($this->editor_user);
 
-    $edit_uri = 'edit/form/node/'. $this->node->id() . '/' . $this->field_name . '/und/full';
+    $quickedit_uri = 'quickedit/form/node/'. $this->node->id() . '/' . $this->field_name . '/und/full';
     $post = array('nocssjs' => 'true') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost($edit_uri, 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost($quickedit_uri, 'application/vnd.drupal-ajax', $post);
     $ajax_commands = Json::decode($response);
 
     // Prepare form values for submission. drupalPostAJAX() is not suitable for
@@ -160,7 +160,7 @@ public function testAutocompleteEdit() {
       );
 
       // Submit field form and check response. Should render back all the terms.
-      $response = $this->drupalPost($edit_uri, 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost($quickedit_uri, 'application/vnd.drupal-ajax', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->drupalSetContent($ajax_commands[0]['data']);
@@ -170,9 +170,9 @@ public function testAutocompleteEdit() {
       $this->assertNoLink('new term');
 
       // Load the form again, which should now get it back from TempStore.
-      $edit_uri = 'edit/form/node/'. $this->node->id() . '/' . $this->field_name . '/und/full';
+      $quickedit_uri = 'quickedit/form/node/'. $this->node->id() . '/' . $this->field_name . '/und/full';
       $post = array('nocssjs' => 'true') + $this->getAjaxPageStatePostData();
-      $response = $this->drupalPost($edit_uri, 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost($quickedit_uri, 'application/vnd.drupal-ajax', $post);
       $ajax_commands = Json::decode($response);
 
       // The AjaxResponse's first command is an InsertCommand which contains
@@ -184,7 +184,7 @@ public function testAutocompleteEdit() {
 
       // Save the entity.
       $post = array('nocssjs' => 'true');
-      $response = $this->drupalPost('edit/entity/node/' . $this->node->id(), 'application/json', $post);
+      $response = $this->drupalPost('quickedit/entity/node/' . $this->node->id(), 'application/json', $post);
       $this->assertResponse(200);
 
       // The full node display should now link to all entities, with the new
diff --git a/core/modules/edit/lib/Drupal/edit/Tests/EditLoadingTest.php b/core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditLoadingTest.php
similarity index 78%
rename from core/modules/edit/lib/Drupal/edit/Tests/EditLoadingTest.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditLoadingTest.php
index 6ee7cee..bc9dcbc 100644
--- a/core/modules/edit/lib/Drupal/edit/Tests/EditLoadingTest.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditLoadingTest.php
@@ -14,7 +14,7 @@
 use Drupal\Component\Utility\Unicode;
 
 /**
- * Tests loading of Edit and lazy-loading of in-place editors.
+ * Tests loading of Quick Edit and lazy-loading of in-place editors.
  */
 class EditLoadingTest extends WebTestBase {
 
@@ -71,7 +71,7 @@ protected function setUp() {
   }
 
   /**
-   * Test the loading of Edit when a user doesn't have access to it.
+   * Test the loading of Quick Edit when a user doesn't have access to it.
    */
   public function testUserWithoutPermission() {
     $this->drupalLogin($this->author_user);
@@ -79,29 +79,29 @@ public function testUserWithoutPermission() {
 
     // Library and in-place editors.
     $settings = $this->drupalGetSettings();
-    $this->assertFalse(isset($settings['ajaxPageState']['js']['core/modules/edit/js/edit.js']), 'Edit library not loaded.');
+    $this->assertFalse(isset($settings['ajaxPageState']['js']['core/modules/edit/js/edit.js']), 'Quick Edit library not loaded.');
     $this->assertFalse(isset($settings['ajaxPageState']['js']['core/modules/edit/js/editors/formEditor.js']), "'form' in-place editor not loaded.");
 
     // HTML annotation must always exist (to not break the render cache).
-    $this->assertRaw('data-edit-entity-id="node/1"');
-    $this->assertRaw('data-edit-field-id="node/1/body/und/full"');
+    $this->assertRaw('data-quickedit-entity-id="node/1"');
+    $this->assertRaw('data-quickedit-field-id="node/1/body/und/full"');
 
     // Retrieving the metadata should result in an empty 403 response.
     $post = array('fields[0]' => 'node/1/body/und/full');
-    $response = $this->drupalPost('edit/metadata', 'application/json', $post);
+    $response = $this->drupalPost('quickedit/metadata', 'application/json', $post);
     $this->assertIdentical('{}', $response);
     $this->assertResponse(403);
 
-    // Edit's JavaScript would never hit these endpoints if the metadata was
-    // empty as above, but we need to make sure that malicious users aren't able
-    // to use any of the other endpoints either.
+    // Quick Edit's JavaScript would never hit these endpoints if the metadata
+    // was empty as above, but we need to make sure that malicious users aren't
+    // able to use any of the other endpoints either.
     $post = array('editors[0]' => 'form') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost('edit/attachments', 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost('quickedit/attachments', 'application/vnd.drupal-ajax', $post);
     // @todo Uncomment the below once https://drupal.org/node/2063303 is fixed.
     // $this->assertIdentical('[]', $response);
     $this->assertResponse(403);
     $post = array('nocssjs' => 'true') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
     // @todo Uncomment the below once https://drupal.org/node/2063303 is fixed.
     // $this->assertIdentical('[]', $response);
     $this->assertResponse(403);
@@ -113,19 +113,19 @@ public function testUserWithoutPermission() {
     $edit['body[0][value]'] = '<p>Malicious content.</p>';
     $edit['body[0][format]'] = 'filtered_html';
     $edit['op'] = t('Save');
-    $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $edit);
+    $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $edit);
     // @todo Uncomment the below once https://drupal.org/node/2063303 is fixed.
     // $this->assertIdentical('[]', $response);
     $this->assertResponse(403);
     $post = array('nocssjs' => 'true');
-    $response = $this->drupalPost('edit/entity/' . 'node/1', 'application/json', $post);
+    $response = $this->drupalPost('quickedit/entity/' . 'node/1', 'application/json', $post);
     // @todo Uncomment the below once https://drupal.org/node/2063303 is fixed.
     // $this->assertIdentical('[]', $response);
     $this->assertResponse(403);
   }
 
   /**
-   * Tests the loading of Edit when a user does have access to it.
+   * Tests the loading of Quick Edit when a user does have access to it.
    *
    * Also ensures lazy loading of in-place editors works.
    */
@@ -135,12 +135,12 @@ public function testUserWithPermission() {
 
     // Library and in-place editors.
     $settings = $this->drupalGetSettings();
-    $this->assertTrue(isset($settings['ajaxPageState']['js']['core/modules/edit/js/edit.js']), 'Edit library loaded.');
+    $this->assertTrue(isset($settings['ajaxPageState']['js']['core/modules/edit/js/edit.js']), 'Quick Edit library loaded.');
     $this->assertFalse(isset($settings['ajaxPageState']['js']['core/modules/edit/js/editors/formEditor.js']), "'form' in-place editor not loaded.");
 
     // HTML annotation must always exist (to not break the render cache).
-    $this->assertRaw('data-edit-entity-id="node/1"');
-    $this->assertRaw('data-edit-field-id="node/1/body/und/full"');
+    $this->assertRaw('data-quickedit-entity-id="node/1"');
+    $this->assertRaw('data-quickedit-field-id="node/1/body/und/full"');
 
     // There should be only one revision so far.
     $revisions = node_revision_list(node_load(1));
@@ -150,7 +150,7 @@ public function testUserWithPermission() {
     // Retrieving the metadata should result in a 200 JSON response.
     $htmlPageDrupalSettings = $this->drupalSettings;
     $post = array('fields[0]' => 'node/1/body/und/full');
-    $response = $this->drupalPost('edit/metadata', 'application/json', $post);
+    $response = $this->drupalPost('quickedit/metadata', 'application/json', $post);
     $this->assertResponse(200);
     $expected = array(
       'node/1/body/und/full' => array(
@@ -169,7 +169,7 @@ public function testUserWithPermission() {
     //  1. a settings command with useless metadata: AjaxController is dumb
     //  2. an insert command that loads the required in-place editors
     $post = array('editors[0]' => 'form') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost('edit/attachments', 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost('quickedit/attachments', 'application/vnd.drupal-ajax', $post);
     $ajax_commands = Json::decode($response);
     $this->assertIdentical(2, count($ajax_commands), 'The attachments HTTP request results in two AJAX commands.');
     // First command: settings.
@@ -180,14 +180,14 @@ public function testUserWithPermission() {
     $this->assertIdentical($command->render(), $ajax_commands[1], 'The append command contains the expected data.');
 
     // Retrieving the form for this field should result in a 200 response,
-    // containing only an editFieldForm command.
+    // containing only a quickeditFieldForm command.
     $post = array('nocssjs' => 'true', 'reset' => 'true') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
     $this->assertResponse(200);
     $ajax_commands = Json::decode($response);
     $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-    $this->assertIdentical('editFieldForm', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldForm command.');
-    $this->assertIdentical('<form ', Unicode::substr($ajax_commands[0]['data'], 0, 6), 'The editFieldForm command contains a form.');
+    $this->assertIdentical('quickeditFieldForm', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditFieldForm command.');
+    $this->assertIdentical('<form ', Unicode::substr($ajax_commands[0]['data'], 0, 6), 'The quickeditFieldForm command contains a form.');
 
     // Prepare form values for submission. drupalPostAjaxForm() is not suitable
     // for handling pages with JSON responses, so we need our own solution here.
@@ -210,11 +210,11 @@ public function testUserWithPermission() {
 
       // Submit field form and check response. This should store the updated
       // entity in TempStore on the server.
-      $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-      $this->assertIdentical('editFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldFormSaved command.');
+      $this->assertIdentical('quickeditFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditFieldFormSaved command.');
       $this->assertTrue(strpos($ajax_commands[0]['data'], 'Fine thanks.'), 'Form value saved and printed back.');
       $this->assertIdentical($ajax_commands[0]['other_view_modes'], array(), 'Field was not rendered in any other view mode.');
 
@@ -224,11 +224,11 @@ public function testUserWithPermission() {
 
       // Save the entity by moving the TempStore values to entity storage.
       $post = array('nocssjs' => 'true');
-      $response = $this->drupalPost('edit/entity/' . 'node/1', 'application/json', $post);
+      $response = $this->drupalPost('quickedit/entity/' . 'node/1', 'application/json', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The entity submission HTTP request results in one AJAX command.');
-      $this->assertIdentical('editEntitySaved', $ajax_commands[0]['command'], 'The first AJAX command is an editEntitySaved command.');
+      $this->assertIdentical('quickeditEntitySaved', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditEntitySaved command.');
       $this->assertIdentical($ajax_commands[0]['data']['entity_type'], 'node', 'Saved entity is of type node.');
       $this->assertIdentical($ajax_commands[0]['data']['entity_id'], '1', 'Entity id is 1.');
 
@@ -251,12 +251,12 @@ public function testUserWithPermission() {
 
       // Retrieve field form.
       $post = array('nocssjs' => 'true', 'reset' => 'true');
-      $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-      $this->assertIdentical('editFieldForm', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldForm command.');
-      $this->assertIdentical('<form ', Unicode::substr($ajax_commands[0]['data'], 0, 6), 'The editFieldForm command contains a form.');
+      $this->assertIdentical('quickeditFieldForm', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditFieldForm command.');
+      $this->assertIdentical('<form ', Unicode::substr($ajax_commands[0]['data'], 0, 6), 'The quickeditFieldForm command contains a form.');
 
       // Submit field form.
       preg_match('/\sname="form_token" value="([^"]+)"/', $ajax_commands[0]['data'], $token_match);
@@ -268,18 +268,18 @@ public function testUserWithPermission() {
         'form_build_id' => $build_id_match[1],
       );
       $post += $edit + $this->getAjaxPageStatePostData();
-      $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
       // @todo Uncomment the below once https://drupal.org/node/2063303 is fixed.
       // $this->assertIdentical('[]', $response);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-      $this->assertIdentical('editFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldFormSaved command.');
+      $this->assertIdentical('quickeditFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is an quickeditFieldFormSaved command.');
       $this->assertTrue(strpos($ajax_commands[0]['data'], 'kthxbye'), 'Form value saved and printed back.');
 
       // Save the entity.
       $post = array('nocssjs' => 'true');
-      $response = $this->drupalPost('edit/entity/' . 'node/1', 'application/json', $post);
+      $response = $this->drupalPost('quickedit/entity/' . 'node/1', 'application/json', $post);
       // @todo Uncomment the below once https://drupal.org/node/2063303 is fixed.
       // $this->assertIdentical('[]', $response);
       $this->assertResponse(200);
@@ -288,12 +288,12 @@ public function testUserWithPermission() {
       $revisions = node_revision_list(node_load(1));
       $this->assertIdentical(2, count($revisions), 'The node has two revisions.');
       $this->assertIdentical($original_log, $revisions[1]->log, 'The first revision log message is unchanged.');
-      $this->assertIdentical('Updated the <em class="placeholder">Body</em> field through in-place editing.', $revisions[2]->log, 'The second revision log message was correctly generated by Edit module.');
+      $this->assertIdentical('Updated the <em class="placeholder">Body</em> field through in-place editing.', $revisions[2]->log, 'The second revision log message was correctly generated by Quick Edit module.');
     }
   }
 
   /**
-   * Tests the loading of Edit for the title base field.
+   * Tests the loading of Quick Edit for the title base field.
    */
   public function testTitleBaseField() {
     $this->drupalLogin($this->editor_user);
@@ -302,7 +302,7 @@ public function testTitleBaseField() {
     // Retrieving the metadata should result in a 200 JSON response.
     $htmlPageDrupalSettings = $this->drupalSettings;
     $post = array('fields[0]' => 'node/1/title/und/full');
-    $response = $this->drupalPost('edit/metadata', 'application/json', $post);
+    $response = $this->drupalPost('quickedit/metadata', 'application/json', $post);
     $this->assertResponse(200);
     $expected = array(
       'node/1/title/und/full' => array(
@@ -318,14 +318,14 @@ public function testTitleBaseField() {
     $this->drupalSettings = $htmlPageDrupalSettings;
 
     // Retrieving the form for this field should result in a 200 response,
-    // containing only an editFieldForm command.
+    // containing only a quickeditFieldForm command.
     $post = array('nocssjs' => 'true', 'reset' => 'true') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost('edit/form/' . 'node/1/title/und/full', 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost('quickedit/form/' . 'node/1/title/und/full', 'application/vnd.drupal-ajax', $post);
     $this->assertResponse(200);
     $ajax_commands = Json::decode($response);
     $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-    $this->assertIdentical('editFieldForm', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldForm command.');
-    $this->assertIdentical('<form ', Unicode::substr($ajax_commands[0]['data'], 0, 6), 'The editFieldForm command contains a form.');
+    $this->assertIdentical('quickeditFieldForm', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditFieldForm command.');
+    $this->assertIdentical('<form ', Unicode::substr($ajax_commands[0]['data'], 0, 6), 'The quickeditFieldForm command contains a form.');
 
     // Prepare form values for submission. drupalPostAjaxForm() is not suitable
     // for handling pages with JSON responses, so we need our own solution
@@ -347,11 +347,11 @@ public function testTitleBaseField() {
 
       // Submit field form and check response. This should store the
       // updated entity in TempStore on the server.
-      $response = $this->drupalPost('edit/form/' . 'node/1/title/und/full', 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost('quickedit/form/' . 'node/1/title/und/full', 'application/vnd.drupal-ajax', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-      $this->assertIdentical('editFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldFormSaved command.');
+      $this->assertIdentical('quickeditFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditFieldFormSaved command.');
       $this->assertTrue(strpos($ajax_commands[0]['data'], 'Obligatory question'), 'Form value saved and printed back.');
 
       // Ensure the text on the original node did not change yet.
@@ -360,11 +360,11 @@ public function testTitleBaseField() {
 
       // Save the entity by moving the TempStore values to entity storage.
       $post = array('nocssjs' => 'true');
-      $response = $this->drupalPost('edit/entity/' . 'node/1', 'application/json', $post);
+      $response = $this->drupalPost('quickedit/entity/' . 'node/1', 'application/json', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The entity submission HTTP request results in one AJAX command.');
-      $this->assertIdentical('editEntitySaved', $ajax_commands[0]['command'], 'The first AJAX command is an editEntitySaved command.');
+      $this->assertIdentical('quickeditEntitySaved', $ajax_commands[0]['command'], 'The first AJAX command is n quickeditEntitySaved command.');
       $this->assertIdentical($ajax_commands[0]['data']['entity_type'], 'node', 'Saved entity is of type node.');
       $this->assertIdentical($ajax_commands[0]['data']['entity_id'], '1', 'Entity id is 1.');
 
@@ -375,7 +375,8 @@ public function testTitleBaseField() {
   }
 
   /**
-   * Tests that Edit doesn't make pseudo fields or computed fields editable.
+   * Tests that Quick Edit doesn't make pseudo fields or computed fields
+   * editable.
    */
   public function testPseudoFields() {
     \Drupal::moduleHandler()->install(array('edit_test'));
@@ -384,11 +385,12 @@ public function testPseudoFields() {
     $this->drupalGet('node/1');
 
     // Check that the data- attribute is not added.
-    $this->assertNoRaw('data-edit-field-id="node/1/edit_test_pseudo_field/und/default"');
+    $this->assertNoRaw('data-quickedit-field-id="node/1/edit_test_pseudo_field/und/default"');
   }
 
   /**
-   * Tests that Edit doesn't make fields rendered with display options editable.
+   * Tests that Quick Edit doesn't make fields rendered with display options
+   * editable.
    */
   public function testDisplayOptions() {
     $node = entity_load('node', '1');
@@ -397,16 +399,16 @@ public function testDisplayOptions() {
     );
     $build = $node->body->view($display_settings);
     $output = drupal_render($build);
-    $this->assertFalse(strpos($output, 'data-edit-field-id'), 'data-edit-field-id attribute not added when rendering field using dynamic display options.');
+    $this->assertFalse(strpos($output, 'data-quickedit-field-id'), 'data-quickedit-field-id attribute not added when rendering field using dynamic display options.');
   }
 
   /**
-   * Tests that Edit works with custom render pipelines.
+   * Tests that Quick Edit works with custom render pipelines.
    */
   public function testCustomPipeline() {
     \Drupal::moduleHandler()->install(array('edit_test'));
 
-    $custom_render_url = 'edit/form/node/1/body/und/edit_test-custom-render-data';
+    $custom_render_url = 'quickedit/form/node/1/body/und/edit_test-custom-render-data';
     $this->drupalLogin($this->editor_user);
 
     // Request editing to render results with the custom render pipeline.
@@ -439,7 +441,7 @@ public function testCustomPipeline() {
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(1, count($ajax_commands), 'The field form HTTP request results in one AJAX command.');
-      $this->assertIdentical('editFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is an editFieldFormSaved command.');
+      $this->assertIdentical('quickeditFieldFormSaved', $ajax_commands[0]['command'], 'The first AJAX command is a quickeditFieldFormSaved command.');
       $this->assertTrue(strpos($ajax_commands[0]['data'], 'Fine thanks.'), 'Form value saved and printed back.');
       $this->assertTrue(strpos($ajax_commands[0]['data'], '<div class="edit-test-wrapper">') !== FALSE, 'Custom render pipeline used to render the value.');
       $this->assertIdentical(array_keys($ajax_commands[0]['other_view_modes']), array('full'), 'Field was also rendered in the "full" view mode.');
@@ -448,13 +450,14 @@ public function testCustomPipeline() {
   }
 
   /**
-   * Tests Edit on a node that was concurrently edited on the full node form.
+   * Tests Quick Edit on a node that was concurrently edited on the full node
+   * form.
    */
   public function testConcurrentEdit() {
     $this->drupalLogin($this->editor_user);
 
     $post = array('nocssjs' => 'true') + $this->getAjaxPageStatePostData();
-    $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+    $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
     $this->assertResponse(200);
     $ajax_commands = Json::decode($response);
 
@@ -481,11 +484,11 @@ public function testConcurrentEdit() {
 
       // Submit field form and check response. Should throw a validation error
       // because the node was changed in the meantime.
-      $response = $this->drupalPost('edit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
+      $response = $this->drupalPost('quickedit/form/' . 'node/1/body/und/full', 'application/vnd.drupal-ajax', $post);
       $this->assertResponse(200);
       $ajax_commands = Json::decode($response);
       $this->assertIdentical(2, count($ajax_commands), 'The field form HTTP request results in two AJAX commands.');
-      $this->assertIdentical('editFieldFormValidationErrors', $ajax_commands[1]['command'], 'The second AJAX command is an editFieldFormValidationErrors command.');
+      $this->assertIdentical('quickeditFieldFormValidationErrors', $ajax_commands[1]['command'], 'The second AJAX command is a quickeditFieldFormValidationErrors command.');
       $this->assertTrue(strpos($ajax_commands[1]['data'], t('The content has either been modified by another user, or you have already submitted modifications. As a result, your changes cannot be saved.')), 'Error message returned to user.');
     }
   }
diff --git a/core/modules/edit/lib/Drupal/edit/Tests/EditTestBase.php b/core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditTestBase.php
similarity index 98%
rename from core/modules/edit/lib/Drupal/edit/Tests/EditTestBase.php
rename to core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditTestBase.php
index 753745f..166f522 100644
--- a/core/modules/edit/lib/Drupal/edit/Tests/EditTestBase.php
+++ b/core/modules/quickedit/lib/Drupal/quickedit/Tests/QuickEditTestBase.php
@@ -10,7 +10,7 @@
 use Drupal\simpletest\DrupalUnitTestBase;
 
 /**
- * Parent class for Edit tests.
+ * Parent class for Quick Edit tests.
  */
 class EditTestBase extends DrupalUnitTestBase {
 
diff --git a/core/modules/edit/edit.api.php b/core/modules/quickedit/quickedit.api.php
similarity index 100%
rename from core/modules/edit/edit.api.php
rename to core/modules/quickedit/quickedit.api.php
diff --git a/core/modules/edit/edit.info.yml b/core/modules/quickedit/quickedit.info.yml
similarity index 100%
rename from core/modules/edit/edit.info.yml
rename to core/modules/quickedit/quickedit.info.yml
diff --git a/core/modules/edit/edit.libraries.yml b/core/modules/quickedit/quickedit.libraries.yml
similarity index 100%
rename from core/modules/edit/edit.libraries.yml
rename to core/modules/quickedit/quickedit.libraries.yml
diff --git a/core/modules/edit/edit.module b/core/modules/quickedit/quickedit.module
similarity index 93%
rename from core/modules/edit/edit.module
rename to core/modules/quickedit/quickedit.module
index 6c8e90f..646c2ef 100644
--- a/core/modules/edit/edit.module
+++ b/core/modules/quickedit/quickedit.module
@@ -134,7 +134,7 @@ function edit_preprocess_field(&$variables) {
   // fields") and computed fields are not editable.
   $definition = $entity->getFieldDefinition($element['#field_name']);
   if ($definition && !$definition->isComputed()) {
-    $variables['attributes']['data-edit-field-id'] = $entity->getEntityTypeId() . '/' . $entity->id() . '/' . $element['#field_name'] . '/' . $element['#language'] . '/' . $element['#view_mode'];
+    $variables['attributes']['data-quickedit-field-id'] = $entity->getEntityTypeId() . '/' . $entity->id() . '/' . $element['#field_name'] . '/' . $element['#language'] . '/' . $element['#view_mode'];
   }
 }
 
@@ -142,6 +142,6 @@ function edit_preprocess_field(&$variables) {
  * Implements hook_entity_view_alter().
  */
 function edit_entity_view_alter(&$build, EntityInterface $entity, EntityViewDisplayInterface $display) {
-  $build['#attributes']['data-edit-entity-id'] = $entity->getEntityTypeId() . '/' . $entity->id();
+  $build['#attributes']['data-quickedit-entity-id'] = $entity->getEntityTypeId() . '/' . $entity->id();
 }
 
diff --git a/core/modules/edit/edit.routing.yml b/core/modules/quickedit/quickedit.routing.yml
similarity index 78%
rename from core/modules/edit/edit.routing.yml
rename to core/modules/quickedit/quickedit.routing.yml
index 31f6c62..829b8a8 100644
--- a/core/modules/edit/edit.routing.yml
+++ b/core/modules/quickedit/quickedit.routing.yml
@@ -1,5 +1,5 @@
 edit.metadata:
-  path: '/edit/metadata'
+  path: '/quickedit/metadata'
   defaults:
     _controller: '\Drupal\edit\EditController::metadata'
   options:
@@ -8,14 +8,14 @@ edit.metadata:
     _permission: 'access in-place editing'
 
 edit.attachments:
-  path: '/edit/attachments'
+  path: '/quickedit/attachments'
   defaults:
     _controller: '\Drupal\edit\EditController::attachments'
   requirements:
     _permission: 'access in-place editing'
 
 edit.field_form:
-  path: '/edit/form/{entity_type}/{entity}/{field_name}/{langcode}/{view_mode_id}'
+  path: '/quickedit/form/{entity_type}/{entity}/{field_name}/{langcode}/{view_mode_id}'
   defaults:
     _controller: '\Drupal\edit\EditController::fieldForm'
   options:
@@ -26,7 +26,7 @@ edit.field_form:
     _access_edit_entity_field: 'TRUE'
 
 edit.entity_save:
-  path: '/edit/entity/{entity_type}/{entity}'
+  path: '/quickedit/entity/{entity_type}/{entity}'
   defaults:
     _controller: '\Drupal\edit\EditController::entitySave'
   requirements:
diff --git a/core/modules/edit/edit.services.yml b/core/modules/quickedit/quickedit.services.yml
similarity index 100%
rename from core/modules/edit/edit.services.yml
rename to core/modules/quickedit/quickedit.services.yml
diff --git a/core/modules/edit/tests/Drupal/edit/Tests/Access/EditEntityAccessCheckTest.php b/core/modules/quickedit/tests/Drupal/quickedit/Tests/Access/EditEntityAccessCheckTest.php
similarity index 100%
rename from core/modules/edit/tests/Drupal/edit/Tests/Access/EditEntityAccessCheckTest.php
rename to core/modules/quickedit/tests/Drupal/quickedit/Tests/Access/EditEntityAccessCheckTest.php
diff --git a/core/modules/edit/tests/Drupal/edit/Tests/Access/EditEntityFieldAccessCheckTest.php b/core/modules/quickedit/tests/Drupal/quickedit/Tests/Access/EditEntityFieldAccessCheckTest.php
similarity index 100%
rename from core/modules/edit/tests/Drupal/edit/Tests/Access/EditEntityFieldAccessCheckTest.php
rename to core/modules/quickedit/tests/Drupal/quickedit/Tests/Access/EditEntityFieldAccessCheckTest.php
diff --git a/core/modules/edit/tests/modules/lib/Drupal/edit_test/MockEditEntityFieldAccessCheck.php b/core/modules/quickedit/tests/modules/lib/Drupal/quickedit_test/MockEditEntityFieldAccessCheck.php
similarity index 100%
rename from core/modules/edit/tests/modules/lib/Drupal/edit_test/MockEditEntityFieldAccessCheck.php
rename to core/modules/quickedit/tests/modules/lib/Drupal/quickedit_test/MockEditEntityFieldAccessCheck.php
diff --git a/core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/InPlaceEditor/WysiwygEditor.php b/core/modules/quickedit/tests/modules/lib/Drupal/quickedit_test/Plugin/InPlaceEditor/WysiwygEditor.php
similarity index 100%
rename from core/modules/edit/tests/modules/lib/Drupal/edit_test/Plugin/InPlaceEditor/WysiwygEditor.php
rename to core/modules/quickedit/tests/modules/lib/Drupal/quickedit_test/Plugin/InPlaceEditor/WysiwygEditor.php
diff --git a/core/modules/edit/tests/modules/edit_test.info.yml b/core/modules/quickedit/tests/modules/quickedit_test.info.yml
similarity index 100%
rename from core/modules/edit/tests/modules/edit_test.info.yml
rename to core/modules/quickedit/tests/modules/quickedit_test.info.yml
diff --git a/core/modules/edit/tests/modules/edit_test.module b/core/modules/quickedit/tests/modules/quickedit_test.module
similarity index 100%
rename from core/modules/edit/tests/modules/edit_test.module
rename to core/modules/quickedit/tests/modules/quickedit_test.module
diff --git a/core/themes/seven/edit.css b/core/themes/seven/quickedit.css
similarity index 69%
rename from core/themes/seven/edit.css
rename to core/themes/seven/quickedit.css
index 5b0b21a..5172b60 100644
--- a/core/themes/seven/edit.css
+++ b/core/themes/seven/quickedit.css
@@ -1,26 +1,26 @@
 /**
  * @file
- * Override Edit's entity toolbar style on the Drupal front-end.
+ * Override Quick Edit's entity toolbar style on the Drupal front-end.
  *
- * I.e. loaded by Edit on the front-end, despite this being a back-end theme.
+ * I.e. loaded by Quick Edit on the front-end, despite this being a back-end theme.
  */
 
 /**
  * The Seven style guide prescribes softer corners.
  */
-.edit-toolbar-container > .edit-toolbar-content,
-.edit-toolbar-container > .edit-toolbar-lining {
+.quickedit-toolbar-container > .quickedit-toolbar-content,
+.quickedit-toolbar-container > .quickedit-toolbar-lining {
   border-radius: 4px;
 }
-.edit-button {
+.quickedit-button {
   border-radius: 3px;
 }
 
 /**
  * Entity toolbar's "save" button must be styled like a Seven primary button.
  */
-.edit-button.action-save,
-.edit-button.action-saving {
+.quickedit-button.action-save,
+.quickedit-button.action-saving {
   border-color: #1e5c90;
   background-image: -webkit-linear-gradient(top, #007bc6, #0071b8);
   background-image:    -moz-linear-gradient(top, #007bc6, #0071b8);
@@ -32,10 +32,10 @@
   -webkit-font-smoothing: antialiased;
   margin-top: 2px;
 }
-.edit-button.action-save:focus,
-.edit-button.action-save:hover,
-.edit-button.action-saving:focus
-.edit-button.action-saving:hover {
+.quickedit-button.action-save:focus,
+.quickedit-button.action-save:hover,
+.quickedit-button.action-saving:focus
+.quickedit-button.action-saving:hover {
   background-color: #2369a6;
   background-image: -webkit-linear-gradient(top, #0c97ed, #1f86c7);
   background-image:    -moz-linear-gradient(top, #0c97ed, #1f86c7);
@@ -44,12 +44,12 @@
   border-color: #1e5c90;
   color: #fff;
 }
-.edit-button.action-save:hover,
-.edit-button.action-saving:hover {
+.quickedit-button.action-save:hover,
+.quickedit-button.action-saving:hover {
   box-shadow: 0 1px 2px hsla(203, 10%, 10%, 0.25);
 }
-.edit-button.action-save:active,
-.edit-button.action-saving:active {
+.quickedit-button.action-save:active,
+.quickedit-button.action-saving:active {
   background-image: -webkit-linear-gradient(top, #08639b, #0071b8);
   background-image:    -moz-linear-gradient(top, #08639b, #0071b8);
   background-image:      -o-linear-gradient(top, #08639b, #0071b8);
@@ -62,6 +62,6 @@
  * The entity toolbar's "save" button's top margin shifts both buttons 2px down,
  * so we must compensate for that to achieve vertically centered positioning.
  */
-.edit .icon-close:before {
+.quickedit .icon-close:before {
   top: 8px;
 }
