diff --git a/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php b/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
index d62cb681ae..2b56eee461 100644
--- a/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
+++ b/core/modules/editor/tests/src/Kernel/QuickEditIntegrationTest.php
@@ -7,6 +7,8 @@
 use Drupal\Core\Language\LanguageInterface;
 use Drupal\editor\Entity\Editor;
 use Drupal\entity_test\Entity\EntityTest;
+use Drupal\Core\Session\AnonymousUserSession;
+use Drupal\quickedit\EditorSelector;
 use Drupal\quickedit\MetadataGenerator;
 use Drupal\Tests\quickedit\Kernel\QuickEditTestBase;
 use Drupal\quickedit_test\MockEditEntityFieldAccessCheck;
@@ -167,7 +169,7 @@ public function testMetadata() {
     $this->editorManager = $this->container->get('plugin.manager.quickedit.editor');
     $this->accessChecker = new MockEditEntityFieldAccessCheck();
     $this->editorSelector = $this->container->get('quickedit.editor.selector');
-    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager);
+    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager, new AnonymousUserSession());
 
     // Create an entity with values for the field.
     $entity = EntityTest::create();
diff --git a/core/modules/quickedit/quickedit.services.yml b/core/modules/quickedit/quickedit.services.yml
index 692ba2f489..bc90dbdcf9 100644
--- a/core/modules/quickedit/quickedit.services.yml
+++ b/core/modules/quickedit/quickedit.services.yml
@@ -11,4 +11,4 @@ services:
     arguments: ['@plugin.manager.quickedit.editor', '@plugin.manager.field.formatter']
   quickedit.metadata.generator:
     class: Drupal\quickedit\MetadataGenerator
-    arguments: ['@access_check.quickedit.entity_field', '@quickedit.editor.selector', '@plugin.manager.quickedit.editor']
+    arguments: ['@access_check.quickedit.entity_field', '@quickedit.editor.selector', '@plugin.manager.quickedit.editor', '@current_user']
diff --git a/core/modules/quickedit/src/Access/EditEntityFieldAccessCheck.php b/core/modules/quickedit/src/Access/EditEntityFieldAccessCheck.php
index 7b3883833c..22f0208b8b 100644
--- a/core/modules/quickedit/src/Access/EditEntityFieldAccessCheck.php
+++ b/core/modules/quickedit/src/Access/EditEntityFieldAccessCheck.php
@@ -22,26 +22,24 @@ class EditEntityFieldAccessCheck implements AccessInterface, EditEntityFieldAcce
    * @param string $langcode
    *   The langcode.
    * @param \Drupal\Core\Session\AccountInterface $account
-   *   The currently logged in account.
+   *   The user for which to check access.
    *
    * @return \Drupal\Core\Access\AccessResultInterface
    *   The access result.
-   *
-   * @todo Use the $account argument: https://www.drupal.org/node/2266809.
    */
   public function access(EntityInterface $entity, $field_name, $langcode, AccountInterface $account) {
     if (!$this->validateRequestAttributes($entity, $field_name, $langcode)) {
       return AccessResult::forbidden();
     }
 
-    return $this->accessEditEntityField($entity, $field_name);
+    return $this->accessEditEntityField($entity, $field_name, $account);
   }
 
   /**
    * {@inheritdoc}
    */
-  public function accessEditEntityField(EntityInterface $entity, $field_name) {
-    return $entity->access('update', NULL, TRUE)->andIf($entity->get($field_name)->access('edit', NULL, TRUE));
+  public function accessEditEntityField(EntityInterface $entity, $field_name, AccountInterface $account) {
+    return $entity->access('update', $account, TRUE)->andIf($entity->get($field_name)->access('edit', $account, TRUE));
   }
 
   /**
diff --git a/core/modules/quickedit/src/Access/EditEntityFieldAccessCheckInterface.php b/core/modules/quickedit/src/Access/EditEntityFieldAccessCheckInterface.php
index c7f14e261a..af1a94f883 100644
--- a/core/modules/quickedit/src/Access/EditEntityFieldAccessCheckInterface.php
+++ b/core/modules/quickedit/src/Access/EditEntityFieldAccessCheckInterface.php
@@ -3,6 +3,7 @@
 namespace Drupal\quickedit\Access;
 
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Session\AccountInterface;
 
 /**
  * Access check for editing entity fields.
@@ -16,10 +17,12 @@
    *   The entity.
    * @param string $field_name
    *   The field name.
+   * @param \Drupal\Core\Session\AccountInterface $account
+   *   The user for which to check access.
    *
    * @return \Drupal\Core\Access\AccessResultInterface
    *   The access result.
    */
-  public function accessEditEntityField(EntityInterface $entity, $field_name);
+  public function accessEditEntityField(EntityInterface $entity, $field_name, AccountInterface $account);
 
 }
diff --git a/core/modules/quickedit/src/MetadataGenerator.php b/core/modules/quickedit/src/MetadataGenerator.php
index a22bf65a6c..a1930aad90 100644
--- a/core/modules/quickedit/src/MetadataGenerator.php
+++ b/core/modules/quickedit/src/MetadataGenerator.php
@@ -5,6 +5,7 @@
 use Drupal\Component\Plugin\PluginManagerInterface;
 use Drupal\Core\Entity\EntityInterface;
 use Drupal\Core\Field\FieldItemListInterface;
+use Drupal\Core\Session\AccountInterface;
 use Drupal\quickedit\Access\EditEntityFieldAccessCheckInterface;
 use Drupal\Core\Entity\Entity\EntityViewDisplay;
 
@@ -35,6 +36,13 @@ class MetadataGenerator implements MetadataGeneratorInterface {
   protected $editorManager;
 
   /**
+   * The current user.
+   *
+   * @var \Drupal\Core\Session\AccountInterface
+   */
+  protected $currentUser;
+
+  /**
    * Constructs a new MetadataGenerator.
    *
    * @param \Drupal\quickedit\Access\EditEntityFieldAccessCheckInterface $access_checker
@@ -43,11 +51,14 @@ class MetadataGenerator implements MetadataGeneratorInterface {
    *   An object that determines which editor to attach to a given field.
    * @param \Drupal\Component\Plugin\PluginManagerInterface $editor_manager
    *   The manager for editor plugins.
+   * @param \Drupal\Core\Session\AccountInterface $current_user
+   *   The current user.
    */
-  public function __construct(EditEntityFieldAccessCheckInterface $access_checker, EditorSelectorInterface $editor_selector, PluginManagerInterface $editor_manager) {
+  public function __construct(EditEntityFieldAccessCheckInterface $access_checker, EditorSelectorInterface $editor_selector, PluginManagerInterface $editor_manager, AccountInterface $current_user) {
     $this->accessChecker = $access_checker;
     $this->editorSelector = $editor_selector;
     $this->editorManager = $editor_manager;
+    $this->currentUser = $current_user;
   }
 
   /**
@@ -67,7 +78,7 @@ public function generateFieldMetadata(FieldItemListInterface $items, $view_mode)
     $field_name = $items->getFieldDefinition()->getName();
 
     // Early-return if user does not have access.
-    $access = $this->accessChecker->accessEditEntityField($entity, $field_name);
+    $access = $this->accessChecker->accessEditEntityField($entity, $field_name, $this->currentUser);
     if (!$access) {
       return array('access' => FALSE);
     }
diff --git a/core/modules/quickedit/tests/modules/src/MockEditEntityFieldAccessCheck.php b/core/modules/quickedit/tests/modules/src/MockEditEntityFieldAccessCheck.php
index b5d94564b1..47c979d0e3 100644
--- a/core/modules/quickedit/tests/modules/src/MockEditEntityFieldAccessCheck.php
+++ b/core/modules/quickedit/tests/modules/src/MockEditEntityFieldAccessCheck.php
@@ -3,6 +3,7 @@
 namespace Drupal\quickedit_test;
 
 use Drupal\Core\Entity\EntityInterface;
+use Drupal\Core\Session\AccountInterface;
 use Drupal\quickedit\Access\EditEntityFieldAccessCheckInterface;
 
 /**
@@ -13,7 +14,7 @@ class MockEditEntityFieldAccessCheck implements EditEntityFieldAccessCheckInterf
   /**
    * {@inheritdoc}
    */
-  public function accessEditEntityField(EntityInterface $entity, $field_name) {
+  public function accessEditEntityField(EntityInterface $entity, $field_name, AccountInterface $account) {
     return TRUE;
   }
 
diff --git a/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php b/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php
index 7fdc8fbf6d..cdd6e20827 100644
--- a/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php
+++ b/core/modules/quickedit/tests/src/Kernel/MetadataGeneratorTest.php
@@ -3,6 +3,8 @@
 namespace Drupal\Tests\quickedit\Kernel;
 
 use Drupal\entity_test\Entity\EntityTest;
+use Drupal\Core\Language\LanguageInterface;
+use Drupal\Core\Session\AnonymousUserSession;
 use Drupal\quickedit\EditorSelector;
 use Drupal\quickedit\MetadataGenerator;
 use Drupal\quickedit_test\MockEditEntityFieldAccessCheck;
@@ -42,6 +44,13 @@ class MetadataGeneratorTest extends QuickEditTestBase {
   protected $editorSelector;
 
   /**
+   * The mocked current user.
+   *
+   * @var \Drupal\Core\Session\AccountInterface
+   */
+  protected $currentUser;
+
+  /**
    * The access checker object to be used by the metadata generator object.
    *
    * @var \Drupal\quickedit\Access\EditEntityFieldAccessCheckInterface
@@ -54,7 +63,8 @@ protected function setUp() {
     $this->editorManager = $this->container->get('plugin.manager.quickedit.editor');
     $this->accessChecker = new MockEditEntityFieldAccessCheck();
     $this->editorSelector = new EditorSelector($this->editorManager, $this->container->get('plugin.manager.field.formatter'));
-    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager);
+    $this->currentUser = new AnonymousUserSession();
+    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager, $this->currentUser);
   }
 
   /**
@@ -122,11 +132,11 @@ public function testSimpleEntityType() {
   public function testEditorWithCustomMetadata() {
     $this->editorManager = $this->container->get('plugin.manager.quickedit.editor');
     $this->editorSelector = new EditorSelector($this->editorManager, $this->container->get('plugin.manager.field.formatter'));
-    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager);
+    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager, $this->currentUser);
 
     $this->editorManager = $this->container->get('plugin.manager.quickedit.editor');
     $this->editorSelector = new EditorSelector($this->editorManager, $this->container->get('plugin.manager.field.formatter'));
-    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager);
+    $this->metadataGenerator = new MetadataGenerator($this->accessChecker, $this->editorSelector, $this->editorManager, $this->currentUser);
 
     // Create a rich text field.
     $field_name = 'field_rich';
