diff --git i/modules/media_library/media_library.module w/modules/media_library/media_library.module index 4ad3e30..2e5c3d7 100644 --- i/modules/media_library/media_library.module +++ w/modules/media_library/media_library.module @@ -534,7 +534,15 @@ function media_library_filter_format_edit_form_validate($form, FormStateInterfac 'status', ]); - if (!$media_embed_enabled) { + // @see media_contextual_crop_embed + $media_contextual_crop_embed = $form_state->getValue([ + 'filters', + 'media_contextual_crop_embed', + 'status', + ]); + + + if (!$media_embed_enabled && !$media_contextual_crop_embed) { $error_message = new TranslatableMarkup('The %media-embed-filter-label filter must be enabled to use the %drupal-media-library-button button.', [ '%media-embed-filter-label' => $get_filter_label('media_embed'), '%drupal-media-library-button' => new TranslatableMarkup('Insert from Media Library'), diff --git i/modules/media_library/src/MediaLibraryEditorOpener.php w/modules/media_library/src/MediaLibraryEditorOpener.php index 4ad3e30..2e5c3d7 100644 --- i/modules/media_library/src/MediaLibraryEditorOpener.php +++ w/modules/media_library/src/MediaLibraryEditorOpener.php @@ -54,9 +54,11 @@ class MediaLibraryEditorOpener implements MediaLibraryOpenerInterface { ->addCacheTags(['filter_format_list']) ->setReason("The text format '$filter_format_id' could not be loaded."); } - $filters = $filter_format->filters(); + $filters = $filter_format->filters(); + $media_embed = $filters->has('media_embed') && $filters->get('media_embed')->status; + $media_contextual_crop_embed = $filters->has('media_contextual_crop_embed') && $filters->get('media_contextual_crop_embed')->status; return $filter_format->access('use', $account, TRUE) - ->andIf(AccessResult::allowedIf($filters->has('media_embed') && $filters->get('media_embed')->status === TRUE)); + ->andIf(AccessResult::allowedIf($media_embed || $media_contextual_crop_embed)); } /**