core/modules/big_pipe/src/Render/BigPipe.php | 4 ++-- .../big_pipe/src/Render/BigPipeInterface.php | 10 ++++----- .../src/Render/Placeholder/BigPipeStrategy.php | 4 ++-- .../src/Tests/BigPipePlaceholderTestCases.php | 24 ++++++++++---------- core/modules/big_pipe/src/Tests/BigPipeTest.php | 2 +- .../big_pipe_regression_test.routing.yml | 7 ++++++ .../src/BigPipeRegressionTestController.php | 26 ++++++++++++++++++++++ .../FunctionalJavascript/BigPipeRegressionTest.php | 12 ++++++++++ 8 files changed, 67 insertions(+), 22 deletions(-) diff --git a/core/modules/big_pipe/src/Render/BigPipe.php b/core/modules/big_pipe/src/Render/BigPipe.php index 1894aa9..c299157 100644 --- a/core/modules/big_pipe/src/Render/BigPipe.php +++ b/core/modules/big_pipe/src/Render/BigPipe.php @@ -545,12 +545,12 @@ protected function renderPlaceholder($placeholder, array $placeholder_render_arr * only keep the first occurrence. */ protected function getPlaceholderOrder($html, $placeholders) { - $fragments = explode('
', $fragment, 2); + $t = explode('">', $fragment, 2); $placeholder_id = $t[0]; $placeholder_ids[] = $placeholder_id; } diff --git a/core/modules/big_pipe/src/Render/BigPipeInterface.php b/core/modules/big_pipe/src/Render/BigPipeInterface.php index 6d0e5a7..b16e50c 100644 --- a/core/modules/big_pipe/src/Render/BigPipeInterface.php +++ b/core/modules/big_pipe/src/Render/BigPipeInterface.php @@ -52,7 +52,7 @@ * 1. BigPipe placeholders: 1 HtmlResponse + N embedded AjaxResponses. * - Before a BigPipe response is sent, it is just a HTML response that * contains BigPipe placeholders. Those placeholders look like - *
. JavaScript is used to + * . JavaScript is used to * replace those placeholders. * Therefore these placeholders are actually sent to the client. * - The Skeleton of course has attachments, including most notably asset @@ -79,7 +79,7 @@ * - Before a BigPipe response is sent, it is just a HTML response that * contains no-JS BigPipe placeholders. Those placeholders can take two * different forms: - * 1.
if it's a + * 1. if it's a * placeholder that will be replaced by HTML * 2. big_pipe_nojs_placeholder_attribute_safe:… if it's a placeholder * inside a HTML attribute, in which 1. would be invalid (angle brackets @@ -112,11 +112,11 @@ * Combining all of the above, when using both BigPipe placeholders and no-JS * BigPipe placeholders, we therefore send: 1 HtmlResponse + M Embedded HTML * Responses + N Embedded AJAX Responses. Schematically, we send these chunks: - * 1. Byte zero until 1st no-JS placeholder: headers +
+ * 1. Byte zero until 1st no-JS placeholder: headers + * 2. 1st no-JS placeholder replacement: