diff -u b/core/modules/media/src/Plugin/media/Source/Image.php b/core/modules/media/src/Plugin/media/Source/Image.php --- b/core/modules/media/src/Plugin/media/Source/Image.php +++ b/core/modules/media/src/Plugin/media/Source/Image.php @@ -11,6 +11,7 @@ use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Image\ImageFactory; use Drupal\media\MediaInterface; +use Drupal\media\MediaTypeInterface; use Symfony\Component\DependencyInjection\ContainerInterface; /** @@ -289,2 +290,16 @@ + /** + * {@inheritdoc} + */ + public function createSourceField(MediaTypeInterface $type) { + /** @var \Drupal\field\FieldConfigInterface $field */ + $field = parent::createSourceField($type); + + // Reset the field to its default settings so that we don't inherit the + // settings from the parent class' source field. + $settings = $this->fieldTypeManager->getDefaultFieldSettings($field->getType()); + + return $field->set('settings', $settings); + } + } diff -u b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php --- b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php +++ b/core/modules/media/tests/src/FunctionalJavascript/MediaSourceImageTest.php @@ -18,10 +18,8 @@ $media_type_id = 'test_media_image_type'; $source_field_id = 'field_media_image'; $provided_fields = [ - 'mime', 'width', 'height', - 'size', 'created', 'model', 'iso', @@ -38,8 +36,6 @@ // Create custom fields for the media type to store metadata attributes. $fields = [ - 'field_string_mime' => 'string', - 'field_string_size' => 'string', 'field_string_width' => 'string', 'field_string_model' => 'string', ]; @@ -49,8 +45,6 @@ $this->hideMediaTypeFieldWidget('name', $media_type_id); $this->drupalGet("admin/structure/media/manage/{$media_type_id}"); - $page->selectFieldOption("field_map[mime]", 'field_string_mime'); - $page->selectFieldOption("field_map[size]", 'field_string_size'); $page->selectFieldOption("field_map[width]", 'field_string_width'); $page->selectFieldOption("field_map[model]", 'field_string_model'); $page->pressButton('Save'); @@ -72,9 +66,6 @@ $this->assertEquals('exif_example_1.jpeg', $media->label()); $this->assertEquals('Drupal EXIF Camera 1', $media->get('field_string_model')->value); $this->assertEquals('200', $media->get('field_string_width')->value); - $this->assertEquals('image/jpeg', $media->get('field_string_mime')->value); - $this->assertEquals(filesize(\Drupal::root() . '/core/modules/media/tests/fixtures/exif_example_1.jpeg'), $media->get('field_string_size')->value); - // Create a second media item. $this->drupalGet("media/add/{$media_type_id}");