From 9293cfc04f084020a8989d05cde045e9b66a781e Mon Sep 17 00:00:00 2001 From: Wim Leers Date: Wed, 13 Jul 2016 13:29:32 +0200 Subject: [PATCH 1/5] ip1 --- core/modules/big_pipe/src/Render/BigPipe.php | 11 ++++------- .../big_pipe/src/Render/Placeholder/BigPipeStrategy.php | 4 +++- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/core/modules/big_pipe/src/Render/BigPipe.php b/core/modules/big_pipe/src/Render/BigPipe.php index b312d76..0939ae8 100644 --- a/core/modules/big_pipe/src/Render/BigPipe.php +++ b/core/modules/big_pipe/src/Render/BigPipe.php @@ -716,14 +716,11 @@ protected function renderPlaceholder($placeholder, array $placeholder_render_arr * only keep the first occurrence. */ protected function getPlaceholderOrder($html, $placeholders) { - $fragments = explode('', $fragment, 2); - $placeholder_id = $t[0]; - $placeholder_ids[] = $placeholder_id; + $dom = Html::load($html); + $xpath = new \DOMXPath($dom); + foreach ($xpath->query('//span[@data-big-pipe-placeholder-id]') as $node) { + $placeholder_ids[] = Html::escape($node->getAttribute('data-big-pipe-placeholder-id')); } $placeholder_ids = array_unique($placeholder_ids); diff --git a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php index f967eba..a28e622 100644 --- a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php +++ b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php @@ -198,8 +198,10 @@ protected static function placeholderIsAttributeSafe($placeholder) { protected static function createBigPipeJsPlaceholder($original_placeholder, array $placeholder_render_array) { $big_pipe_placeholder_id = static::generateBigPipePlaceholderId($original_placeholder, $placeholder_render_array); + $interface_preview = "THIS IS A VERY CRAPPY PREVIEW OF $big_pipe_placeholder_id"; + return [ - '#markup' => '', + '#markup' => '' . $interface_preview . '', '#cache' => [ 'max-age' => 0, 'contexts' => [ -- 2.10.1 From 05827e2b502d80fcde71d50acd62846633b1c94a Mon Sep 17 00:00:00 2001 From: Wim Leers Date: Thu, 14 Jul 2016 09:46:37 +0200 Subject: [PATCH 2/5] ip2 --- .../src/Render/Placeholder/BigPipeStrategy.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php index a28e622..831f732 100644 --- a/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php +++ b/core/modules/big_pipe/src/Render/Placeholder/BigPipeStrategy.php @@ -5,6 +5,7 @@ use Drupal\Component\Utility\Crypt; use Drupal\Component\Utility\Html; use Drupal\Component\Utility\UrlHelper; +use Drupal\Core\Render\Markup; use Drupal\Core\Render\Placeholder\PlaceholderStrategyInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Session\SessionConfigurationInterface; @@ -198,10 +199,23 @@ protected static function placeholderIsAttributeSafe($placeholder) { protected static function createBigPipeJsPlaceholder($original_placeholder, array $placeholder_render_array) { $big_pipe_placeholder_id = static::generateBigPipePlaceholderId($original_placeholder, $placeholder_render_array); - $interface_preview = "THIS IS A VERY CRAPPY PREVIEW OF $big_pipe_placeholder_id"; + $interface_preview = ''; + + if (isset($placeholder_render_array['#lazy_builder'])) { + if (in_array($placeholder_render_array['#lazy_builder'][0], ['comment.lazy_builders:renderLinks', 'Drupal\node\NodeViewBuilder::renderLinks'])) { + $interface_preview_style = ""; + $interface_preview_markup = "