diff --git a/core/modules/ckeditor5/css/drupalmedia.css b/core/modules/ckeditor5/css/drupalmedia.css index a3468ad2fec1ef7446d774bf4685293a57d04100..e69e9c7ed6fa6f183ae267317599e687e7c8917a 100644 --- a/core/modules/ckeditor5/css/drupalmedia.css +++ b/core/modules/ckeditor5/css/drupalmedia.css @@ -13,6 +13,10 @@ min-width: 50px; } +.ck .drupal-media [data-drupal-media-preview] { + pointer-events: none; +} + .ck-content .drupal-media img { display: block; min-width: 100%; diff --git a/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php b/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php index c40c4e7456a88f05f841adff97b396705e6af4e8..210ede726dacb04f25e33629b8b62c97a0bac543 100644 --- a/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php +++ b/core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaTest.php @@ -1673,4 +1673,25 @@ protected function getLastPreviewRequestTransferSize() { return $this->getSession()->evaluateScript($javascript); } + /** + * Ensure media preview isn't clickable. + */ + public function testMediaPointerEvent() { + $entityViewDisplay = EntityViewDisplay::load('media.image.view_mode_1'); + $thumbnail = $entityViewDisplay->getComponent('thumbnail'); + $thumbnail['settings']['image_link'] = 'file'; + $entityViewDisplay->setComponent('thumbnail', $thumbnail); + $entityViewDisplay->save(); + + $assert_session = $this->assertSession(); + $page = $this->getSession()->getPage(); + $url = $this->host->toUrl('edit-form'); + $this->drupalGet($url); + $this->waitForEditor(); + $assert_session->waitForLink('default alt'); + $page->find('css', '.ck .drupal-media')->click(); + // Assert that the media preview is not clickable by comparing the URL. + $this->assertEquals($url->toString(), $this->getUrl()); + } + }