diff -u b/core/modules/media_library/media_library.module b/core/modules/media_library/media_library.module --- b/core/modules/media_library/media_library.module +++ b/core/modules/media_library/media_library.module @@ -178,6 +178,7 @@ $add_classes($view->displayHandlers->get('default')->options['css_class'], ['js-media-library-view']); } else { + $add_classes($view->display_handler->options['defaults']['css_class'], ['js-media-library-view']); $add_classes($view->display_handler->options['css_class'], ['js-media-library-view']); } } reverted: --- b/core/themes/seven/seven.theme +++ a/core/themes/seven/seven.theme @@ -347,7 +347,7 @@ }; if ($view->id() === 'media_library') { + if ($view->display_handler->options['defaults']['css_class']) { - if (isset($view->display_handler->options['defaults']['css_class'])) { $add_classes($view->displayHandlers->get('default')->options['css_class'], ['media-library-view']); } else { only in patch2: unchanged: --- a/core/modules/media_library/tests/src/Functional/MediaLibraryDisplayModeTest.php +++ b/core/modules/media_library/tests/src/Functional/MediaLibraryDisplayModeTest.php @@ -10,6 +10,7 @@ use Drupal\Tests\BrowserTestBase; use Drupal\Tests\media\Traits\MediaTypeCreationTrait; use Drupal\media\Entity\MediaType; +use Drupal\views\Views; /** * Tests that the Media Library automatically configures form/view modes. @@ -26,7 +27,9 @@ class MediaLibraryDisplayModeTest extends BrowserTestBase { protected static $modules = [ 'field_ui', 'media', + 'media_library', 'system', + 'views_ui', ]; /** @@ -46,6 +49,7 @@ protected function setUp(): void { 'administer media form display', 'administer media display', 'administer media types', + 'administer views', 'view media', ])); } @@ -211,6 +215,27 @@ public function testDisplayModes() { $this->assertViewDisplay($type_nine_id, 'media_library'); } + /** + * Tests for exceptions and successful execution of hook_views_pre_render(). + */ + public function testThemedViewPage() { + // Configure to always show the default display. + $edit = [ + 'ui_show_default_display' => TRUE, + ]; + $this->drupalGet('admin/structure/views/settings'); + $this->submitForm($edit, 'Save configuration'); + + /** @var \Drupal\Core\Render\RendererInterface $renderer */ + $renderer = \Drupal::service('renderer'); + + $view = Views::getView('media_library'); + $build = $view->buildRenderable(); + unset($build['#view']->display_handler->options['defaults']); + // If this fails then there is a bug. + $renderer->renderRoot($build); + } + /** * Asserts the media library form display components for a media type. *