From 8c854a04fb653551e0ccb1bc05192115f5308c8c Mon Sep 17 00:00:00 2001
From: Pierre <pierredureau@yahoo.fr>
Date: Mon, 22 Jul 2024 19:59:34 +0200
Subject: [PATCH] Issue #3460784 by just_like_good_vibes, pdureau: Add a
 whitelist mechanism in BlockSource, additional changes

---
 ui_patterns.module | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/ui_patterns.module b/ui_patterns.module
index 324fdc4c8..8a8858403 100644
--- a/ui_patterns.module
+++ b/ui_patterns.module
@@ -28,19 +28,17 @@ function ui_patterns_element_info_alter(array &$types) {
  * Implements hook_plugin_filter_TYPE__CONSUMER_alter().
  */
 function ui_patterns_plugin_filter_block__ui_patterns_alter(array &$definitions, array $extra) {
-  // @todo Determine the 'inline_block' blocks should be allowed outside
-  //   of layout_builder https://www.drupal.org/node/2979142.
+  // We are not allowing 'inline_block' blocks to avoid depedencies from config
+  // entities to content entities.
   $definitions = array_filter($definitions, function ($definition) {
     return $definition['id'] !== 'inline_block';
   });
-  // Remove blocks that are not useful within Layout Builder.
+  // Those blocks are blacklisted in layout builder. Let's do the same.
   unset($definitions['system_messages_block']);
   unset($definitions['help_block']);
   unset($definitions['local_tasks_block']);
   unset($definitions['local_actions_block']);
-  // Remove blocks that are non-functional within Layout Builder.
   unset($definitions['system_main_block']);
-  // @todo Restore the page title block in https://www.drupal.org/node/2938129.
   unset($definitions['page_title_block']);
   // Add a boolean marker '_ui_patterns_compatible' to all remaining definitions
   // Other modules can use the same hook to modify this value.
@@ -59,7 +57,7 @@ function ui_patterns_plugin_filter_block__ui_patterns_alter(array &$definitions,
     $compatibilityFlag = TRUE;
     if (in_array($definition['provider'], $whitelisted_blocks["provider"]) ||
       in_array($definition["id"], $whitelisted_blocks["id"])) {
-      // Those blacks are accepted.
+      // The block stays accepted.
     }
     elseif (isset($definition['class'])) {
       try {
@@ -74,7 +72,7 @@ function ui_patterns_plugin_filter_block__ui_patterns_alter(array &$definitions,
         }
       }
       catch (\ReflectionException $e) {
-
+        // The block stays accepted.
       }
     }
     // Filter out blocks with _block_ui_hidden ?
-- 
GitLab