diff core/modules/layout_builder/src/LayoutBuilderServiceProvider.php @ 18:af1871eacc83

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:33:08 +0100
parents 129ea1e6d783
children
line wrap: on
line diff
--- a/core/modules/layout_builder/src/LayoutBuilderServiceProvider.php	Thu Feb 28 13:21:36 2019 +0000
+++ b/core/modules/layout_builder/src/LayoutBuilderServiceProvider.php	Thu May 09 15:33:08 2019 +0100
@@ -5,6 +5,8 @@
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\DependencyInjection\ServiceProviderInterface;
 use Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency;
+use Drupal\layout_builder\Normalizer\LayoutEntityDisplayNormalizer;
+use Symfony\Component\DependencyInjection\ChildDefinition;
 use Symfony\Component\DependencyInjection\Definition;
 use Symfony\Component\DependencyInjection\Reference;
 
@@ -15,6 +17,7 @@
  * dynamically.
  *
  * @internal
+ *   Service providers are internal.
  *
  * @see \Drupal\layout_builder\EventSubscriber\SetInlineBlockDependency
  */
@@ -31,10 +34,19 @@
         new Reference('entity_type.manager'),
         new Reference('database'),
         new Reference('inline_block.usage'),
+        new Reference('plugin.manager.layout_builder.section_storage'),
       ]);
       $definition->addTag('event_subscriber');
       $container->setDefinition('layout_builder.get_block_dependency_subscriber', $definition);
     }
+    if (isset($modules['serialization'])) {
+      $definition = (new ChildDefinition('serializer.normalizer.config_entity'))
+        ->setClass(LayoutEntityDisplayNormalizer::class)
+        // Ensure that this normalizer takes precedence for Layout Builder data
+        // over the generic serializer.normalizer.config_entity.
+        ->addTag('normalizer', ['priority' => 5]);
+      $container->setDefinition('layout_builder.normalizer.layout_entity_display', $definition);
+    }
   }
 
 }