diff --git a/core/includes/theme.inc b/core/includes/theme.inc
index 7236963..b6ce5f0 100644
--- a/core/includes/theme.inc
+++ b/core/includes/theme.inc
@@ -1576,9 +1576,7 @@ function template_preprocess_field_multiple_value_form(&$variables) {
array(
'data' => array(
'#prefix' => '
',
- 'title' => array(
- '#markup' => t($element['#title']),
- ),
+ '#markup' => $element['#title'],
'#suffix' => '
',
),
'colspan' => 2,
diff --git a/core/modules/system/src/Tests/Entity/EntityBaseFieldTest.php b/core/modules/system/src/Tests/Entity/EntityBaseFieldTest.php
new file mode 100644
index 0000000..756715a
--- /dev/null
+++ b/core/modules/system/src/Tests/Entity/EntityBaseFieldTest.php
@@ -0,0 +1,70 @@
+drupalCreateUser(['administer entity_test content']);
+ $this->drupalLogin($user);
+
+ FieldStorageConfig::create([
+ 'entity_type' => 'entity_test_base_field_display',
+ 'field_name' => 'foo',
+ 'type' => 'text',
+ 'cardinality' => FieldStorageConfig::CARDINALITY_UNLIMITED,
+ ])->save();
+ FieldConfig::create([
+ 'entity_type' => 'entity_test_base_field_display',
+ 'bundle' => 'bar',
+ 'field_name' => 'foo',
+ // Set a dangerous label to test XSS filtering.
+ 'label' => "",
+ ])
+ ->save();
+ EntityFormDisplay::create([
+ 'targetEntityType' => 'entity_test_base_field_display',
+ 'bundle' => 'bar',
+ 'mode' => 'default',
+ ])
+ ->setComponent('foo', ['type' => 'text_textfield'])
+ ->enable()
+ ->save();
+
+ $entity = EntityTestBaseFieldDisplay::create(['type' => 'bar']);
+ $entity->save();
+
+ $this->drupalGet('entity_test_base_field_display/manage/' . $entity->id());
+ $this->assertResponse(200);
+ $this->assertText('A field with multiple values');
+ // Test if labels were XSS filtered.
+ $this->assertEscaped("");
+ }
+
+}
diff --git a/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestBaseFieldDisplay.php b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestBaseFieldDisplay.php
index 210eb53..915f057 100644
--- a/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestBaseFieldDisplay.php
+++ b/core/modules/system/tests/modules/entity_test/src/Entity/EntityTestBaseFieldDisplay.php
@@ -9,6 +9,7 @@
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\Field\BaseFieldDefinition;
+use Drupal\entity_test\FieldStorageDefinition;
/**
* Defines a test entity class for base fields display.
@@ -23,9 +24,10 @@
* },
* "translation" = "Drupal\content_translation\ContentTranslationHandler"
* },
- * base_table = "entity_test",
+ * base_table = "entity_test_base_field_display",
* entity_keys = {
* "id" = "id",
+ * "label" = "name",
* "uuid" = "uuid",
* "bundle" = "type"
* },
@@ -70,6 +72,18 @@ public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
'weight' => 11,
));
+ $fields['test_display_multiple'] = BaseFieldDefinition::create('text')
+ ->setLabel(t('A field with multiple values'))
+ ->setCardinality(FieldStorageDefinition::CARDINALITY_UNLIMITED)
+ ->setDisplayOptions('view', array(
+ 'type' => 'text_default',
+ 'weight' => 12,
+ ))
+ ->setDisplayOptions('form', array(
+ 'type' => 'text_textfield',
+ 'weight' => 12,
+ ));
+
return $fields;
}