diff --git a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php index 4b08a565..e06c985 100644 --- a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php +++ b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php @@ -2,8 +2,8 @@ namespace Drupal\image\Plugin\Field\FieldWidget; -use Drupal\Component\Utility\NestedArray; use Drupal\Core\Field\FieldItemListInterface; +use Drupal\Component\Utility\NestedArray; use Drupal\Core\Form\FormStateInterface; use Drupal\file\Entity\File; use Drupal\file\Plugin\Field\FieldWidget\FileWidget; @@ -124,17 +124,14 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen $element['#upload_validators']['file_validate_image_resolution'] = [$field_settings['max_resolution'], $field_settings['min_resolution']]; } - // If using custom extension validation, ensure that the extensions are - // supported by the current image toolkit. + $extensions = $field_settings['file_extensions']; $supported_extensions = $this->getImageFactory()->getSupportedExtensions(); - if (isset($element['#upload_validators']['file_validate_extensions'][0])) { - $extensions = $element['#upload_validators']['file_validate_extensions'][0]; - $extensions = array_intersect(explode(' ', $extensions), $supported_extensions); - $element['#upload_validators']['file_validate_extensions'][0] = implode(' ', $extensions); - } - else { - $element['#upload_validators']['file_validate_extensions'][0] = implode(' ', $supported_extensions); - } + + // If using custom extension validation, ensure that the extensions are + // supported by the current image toolkit. Otherwise, validate against all + // toolkit supported extensions. + $extensions = !empty($extensions) ? array_intersect(explode(' ', $extensions), $supported_extensions) : $supported_extensions; + $element['#upload_validators']['file_validate_extensions'][0] = implode(' ', $extensions); // Add mobile device image capture acceptance. $element['#accept'] = 'image/*';