public function RenderContext::bubble

public RenderContext::bubble()

Bubbles the stack.

Whenever another level in the render array has been rendered, the stack must be bubbled, to merge its rendering metadata with that of the parent element.

File

core/lib/Drupal/Core/Render/RenderContext.php, line 43

Class

RenderContext
The render context: a stack containing bubbleable rendering metadata.

Namespace

Drupal\Core\Render

Code

public function bubble() {
  // If there's only one frame on the stack, then this is the root call, and
  // we can't bubble up further. ::renderRoot() will reset the stack, but we
  // must not reset it here to allow users of ::executeInRenderContext() to
  // access the stack directly.
  if ($this->count() === 1) {
    return;
  }

  // Merge the current and the parent stack frame.
  $current = $this->pop();
  $parent = $this->pop();
  $this->push($current->merge($parent));
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Render!RenderContext.php/function/RenderContext::bubble/8.1.x