diff --git a/core/includes/common.inc b/core/includes/common.inc
index a68fa5a..1f2c9ea 100644
--- a/core/includes/common.inc
+++ b/core/includes/common.inc
@@ -195,7 +195,7 @@ function drupal_get_html_head($render = TRUE) {
   $elements = _drupal_add_html_head();
   \Drupal::moduleHandler()->alter('html_head', $elements);
   if ($render) {
-    return \Drupal::service('renderer')->renderPlain($elements);
+    return \Drupal::service('renderer')->renderInIsolation($elements);
   }
   else {
     return $elements;
diff --git a/core/lib/Drupal/Core/Ajax/AjaxResponseAttachmentsProcessor.php b/core/lib/Drupal/Core/Ajax/AjaxResponseAttachmentsProcessor.php
index 7d36b51..e72a79f 100644
--- a/core/lib/Drupal/Core/Ajax/AjaxResponseAttachmentsProcessor.php
+++ b/core/lib/Drupal/Core/Ajax/AjaxResponseAttachmentsProcessor.php
@@ -164,15 +164,15 @@ protected function buildAttachmentsCommands(AjaxResponse $response, Request $req
     $resource_commands = array();
     if ($css_assets) {
       $css_render_array = $this->cssCollectionRenderer->render($css_assets);
-      $resource_commands[] = new AddCssCommand($this->renderer->renderPlain($css_render_array));
+      $resource_commands[] = new AddCssCommand($this->renderer->renderInIsolation($css_render_array));
     }
     if ($js_assets_header) {
       $js_header_render_array = $this->jsCollectionRenderer->render($js_assets_header);
-      $resource_commands[] = new PrependCommand('head', $this->renderer->renderPlain($js_header_render_array));
+      $resource_commands[] = new PrependCommand('head', $this->renderer->renderInIsolation($js_header_render_array));
     }
     if ($js_assets_footer) {
       $js_footer_render_array = $this->jsCollectionRenderer->render($js_assets_footer);
-      $resource_commands[] = new AppendCommand('body', $this->renderer->renderPlain($js_footer_render_array));
+      $resource_commands[] = new AppendCommand('body', $this->renderer->renderInIsolation($js_footer_render_array));
     }
     foreach (array_reverse($resource_commands) as $resource_command) {
       $response->addCommand($resource_command, TRUE);
diff --git a/core/lib/Drupal/Core/Render/Element/Actions.php b/core/lib/Drupal/Core/Render/Element/Actions.php
index 674e229..49b3ba5 100644
--- a/core/lib/Drupal/Core/Render/Element/Actions.php
+++ b/core/lib/Drupal/Core/Render/Element/Actions.php
@@ -94,7 +94,7 @@ public static function preRenderActionsDropbutton(&$element, FormStateInterface
         // Add this button to the corresponding dropbutton.
         // @todo Change #type 'dropbutton' to be based on item-list.html.twig
         //   instead of links.html.twig to avoid this preemptive rendering.
-        $button = \Drupal::service('renderer')->renderPlain($element[$key]);
+        $button = \Drupal::service('renderer')->renderInIsolation($element[$key]);
         $dropbuttons[$dropbutton]['#links'][$key] = array(
           'title' => $button,
         );
diff --git a/core/lib/Drupal/Core/Render/HtmlResponseAttachmentsProcessor.php b/core/lib/Drupal/Core/Render/HtmlResponseAttachmentsProcessor.php
index 50ff584..3537688 100644
--- a/core/lib/Drupal/Core/Render/HtmlResponseAttachmentsProcessor.php
+++ b/core/lib/Drupal/Core/Render/HtmlResponseAttachmentsProcessor.php
@@ -190,7 +190,7 @@ protected function renderPlaceholders(HtmlResponse $response, array $placeholder
     $content = $response->getContent();
     foreach ($placeholders as $type => $placeholder) {
       if (isset($variables[$type])) {
-        $content = str_replace($placeholder, $this->renderer->renderPlain($variables[$type]), $content);
+        $content = str_replace($placeholder, $this->renderer->renderInIsolation($variables[$type]), $content);
       }
     }
     $response->setContent($content);
diff --git a/core/lib/Drupal/Core/Render/Renderer.php b/core/lib/Drupal/Core/Render/Renderer.php
index d24b7d7..267aa62 100644
--- a/core/lib/Drupal/Core/Render/Renderer.php
+++ b/core/lib/Drupal/Core/Render/Renderer.php
@@ -95,7 +95,7 @@ public function renderRoot(&$elements) {
   /**
    * {@inheritdoc}
    */
-  public function renderPlain(&$elements) {
+  public function renderInIsolation(&$elements) {
     $current_stack = static::$stack;
     $this->resetStack();
     $output = $this->renderRoot($elements);
@@ -126,7 +126,7 @@ protected function renderPlaceholder($placeholder, array $elements) {
     $placeholder_elements = $elements['#attached']['placeholders'][$placeholder];
 
     // Render the placeholder into markup.
-    $markup = $this->renderPlain($placeholder_elements);
+    $markup = $this->renderInIsolation($placeholder_elements);
 
     // Replace the placeholder with its rendered markup, and merge its
     // bubbleable metadata with the main elements'.
diff --git a/core/lib/Drupal/Core/Render/RendererInterface.php b/core/lib/Drupal/Core/Render/RendererInterface.php
index 5d59d4d..15f8724 100644
--- a/core/lib/Drupal/Core/Render/RendererInterface.php
+++ b/core/lib/Drupal/Core/Render/RendererInterface.php
@@ -57,7 +57,7 @@ public function renderRoot(&$elements);
    * @see ::renderRoot()
    * @see ::render()
    */
-  public function renderPlain(&$elements);
+  public function renderInIsolation(&$elements);
 
   /**
    * Renders HTML given a structured array tree.
diff --git a/core/modules/ckeditor/src/Plugin/Editor/CKEditor.php b/core/modules/ckeditor/src/Plugin/Editor/CKEditor.php
index 0e237b1..f8534b9 100644
--- a/core/modules/ckeditor/src/Plugin/Editor/CKEditor.php
+++ b/core/modules/ckeditor/src/Plugin/Editor/CKEditor.php
@@ -157,7 +157,7 @@ public function settingsForm(array $form, FormStateInterface $form_state, Editor
         'library' => array('ckeditor/drupal.ckeditor.admin'),
         'drupalSettings' => [
           'ckeditor' => [
-            'toolbarAdmin' => $this->renderer->renderPlain($ckeditor_settings_toolbar),
+            'toolbarAdmin' => $this->renderer->renderInIsolation($ckeditor_settings_toolbar),
           ],
         ],
       ),
diff --git a/core/modules/comment/comment.module b/core/modules/comment/comment.module
index 8bcac2c..cdc0412 100644
--- a/core/modules/comment/comment.module
+++ b/core/modules/comment/comment.module
@@ -462,7 +462,7 @@ function comment_node_update_index(EntityInterface $node, $langcode) {
       }
     }
   }
-  return \Drupal::service('renderer')->renderPlain($build);
+  return \Drupal::service('renderer')->renderInIsolation($build);
 }
 
 /**
diff --git a/core/modules/comment/src/Plugin/Action/UnpublishByKeywordComment.php b/core/modules/comment/src/Plugin/Action/UnpublishByKeywordComment.php
index 6b70450..d880209 100644
--- a/core/modules/comment/src/Plugin/Action/UnpublishByKeywordComment.php
+++ b/core/modules/comment/src/Plugin/Action/UnpublishByKeywordComment.php
@@ -28,7 +28,7 @@ class UnpublishByKeywordComment extends ConfigurableActionBase {
    */
   public function execute($comment = NULL) {
     $build = comment_view($comment);
-    $text = \Drupal::service('renderer')->renderPlain($build);
+    $text = \Drupal::service('renderer')->renderInIsolation($build);
     foreach ($this->configuration['keywords'] as $keyword) {
       if (strpos($text, $keyword) !== FALSE) {
         $comment->setPublished(FALSE);
diff --git a/core/modules/config/src/Form/ConfigSync.php b/core/modules/config/src/Form/ConfigSync.php
index 7f240e3..5e714b7 100644
--- a/core/modules/config/src/Form/ConfigSync.php
+++ b/core/modules/config/src/Form/ConfigSync.php
@@ -221,7 +221,7 @@ public function buildForm(array $form, FormStateInterface $form_state) {
           '#theme' => 'item_list',
           '#items' => $change_list,
         );
-        $change_list_html = $this->renderer->renderPlain($change_list_render);
+        $change_list_html = $this->renderer->renderInIsolation($change_list_render);
         drupal_set_message($this->t('The following items in your active configuration have changes since the last import that may be lost on the next import. !changes', array('!changes' => $change_list_html)), 'warning');
       }
     }
diff --git a/core/modules/contact/contact.module b/core/modules/contact/contact.module
index 5d4c26b..1552036 100644
--- a/core/modules/contact/contact.module
+++ b/core/modules/contact/contact.module
@@ -143,7 +143,7 @@ function contact_mail($key, &$message, $params) {
       $message['subject'] .= t('[!form] !subject', $variables, $options);
       $message['body'][] = t("!sender-name (!sender-url) sent a message using the contact form at !form-url.", $variables, $options);
       $build = entity_view($contact_message, 'mail', $language->getId());
-      $message['body'][] = \Drupal::service('renderer')->renderPlain($build);
+      $message['body'][] = \Drupal::service('renderer')->renderInIsolation($build);
       break;
 
     case 'page_autoreply':
@@ -162,7 +162,7 @@ function contact_mail($key, &$message, $params) {
       $message['body'][] = t("!sender-name (!sender-url) has sent you a message via your contact form at !site-name.", $variables, $options);
       $message['body'][] = t("If you don't want to receive such emails, you can change your settings at !recipient-edit-url.", $variables, $options);
       $build = entity_view($contact_message, 'mail', $language->getId());
-      $message['body'][] = \Drupal::service('renderer')->renderPlain($build);
+      $message['body'][] = \Drupal::service('renderer')->renderInIsolation($build);
       break;
   }
 }
diff --git a/core/modules/field/field.module b/core/modules/field/field.module
index d09049e..75b498c 100644
--- a/core/modules/field/field.module
+++ b/core/modules/field/field.module
@@ -121,7 +121,7 @@ function field_help($route_name, RouteMatchInterface $route_match) {
           '#theme' => 'item_list',
           '#items' => $items,
         );
-        $output .= \Drupal::service('renderer')->renderPlain($item_list);
+        $output .= \Drupal::service('renderer')->renderInIsolation($item_list);
         $output .= '</dd>';
       }
 
diff --git a/core/modules/file/file.field.inc b/core/modules/file/file.field.inc
index f09760f..ee1cadf 100644
--- a/core/modules/file/file.field.inc
+++ b/core/modules/file/file.field.inc
@@ -72,7 +72,7 @@ function template_preprocess_file_widget_multiple(&$variables) {
     // Save the uploading row for last.
     if (empty($widget['#files'])) {
       $widget['#title'] = $element['#file_upload_title'];
-      $widget['#description'] = \Drupal::service('renderer')->renderPlain($element['#file_upload_description']);
+      $widget['#description'] = \Drupal::service('renderer')->renderInIsolation($element['#file_upload_description']);
       continue;
     }
 
diff --git a/core/modules/file/file.module b/core/modules/file/file.module
index 01b4ddb..36fb622 100644
--- a/core/modules/file/file.module
+++ b/core/modules/file/file.module
@@ -861,7 +861,7 @@ function file_save_upload($form_field_name, $validators = array(), $destination
       );
       // @todo Add support for render arrays in drupal_set_message()? See
       //  https://www.drupal.org/node/2505497.
-      drupal_set_message(\Drupal::service('renderer')->renderPlain($message), 'error');
+      drupal_set_message(\Drupal::service('renderer')->renderInIsolation($message), 'error');
       $files[$i] = FALSE;
       continue;
     }
diff --git a/core/modules/file/src/Element/ManagedFile.php b/core/modules/file/src/Element/ManagedFile.php
index c2fa103..053a1b6 100644
--- a/core/modules/file/src/Element/ManagedFile.php
+++ b/core/modules/file/src/Element/ManagedFile.php
@@ -296,7 +296,7 @@ public static function processManagedFile(&$element, FormStateInterface $form_st
         if ($element['#multiple']) {
           $element['file_' . $delta]['selected'] = [
             '#type' => 'checkbox',
-            '#title' => \Drupal::service('renderer')->renderPlain($file_link),
+            '#title' => \Drupal::service('renderer')->renderInIsolation($file_link),
           ];
         }
         else {
diff --git a/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php b/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
index fbc30d8..88c4148 100644
--- a/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
+++ b/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php
@@ -267,7 +267,7 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
         '#upload_validators' => $element['#upload_validators'],
         '#cardinality' => $cardinality,
       );
-      $element['#description'] = \Drupal::service('renderer')->renderPlain($file_upload_help);
+      $element['#description'] = \Drupal::service('renderer')->renderInIsolation($file_upload_help);
       $element['#multiple'] = $cardinality != 1 ? TRUE : FALSE;
       if ($cardinality != 1 && $cardinality != -1) {
         $element['#element_validate'] = array(array(get_class($this), 'validateMultipleCount'));
diff --git a/core/modules/filter/filter.module b/core/modules/filter/filter.module
index 400d6cc..a06efcc 100644
--- a/core/modules/filter/filter.module
+++ b/core/modules/filter/filter.module
@@ -303,7 +303,7 @@ function check_markup($text, $format_id = NULL, $langcode = '', $filter_types_to
     '#filter_types_to_skip' => $filter_types_to_skip,
     '#langcode' => $langcode,
   );
-  return \Drupal::service('renderer')->renderPlain($build);
+  return \Drupal::service('renderer')->renderInIsolation($build);
 }
 
 /**
diff --git a/core/modules/forum/forum.module b/core/modules/forum/forum.module
index 8ce12ba..84fff0d 100644
--- a/core/modules/forum/forum.module
+++ b/core/modules/forum/forum.module
@@ -66,7 +66,7 @@ function forum_help($route_name, RouteMatchInterface $route_match) {
           'class' => array('more-link'),
         ),
       );
-      $output .= \Drupal::service('renderer')->renderPlain($container);
+      $output .= \Drupal::service('renderer')->renderInIsolation($container);
       return $output;
 
     case 'forum.add_container':
diff --git a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php
index f202293..0e125c7 100644
--- a/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php
+++ b/core/modules/image/src/Plugin/Field/FieldWidget/ImageWidget.php
@@ -98,7 +98,7 @@ protected function formMultipleElements(FieldItemListInterface $items, array &$f
       // If there's only one field, return it as delta 0.
       if (empty($elements[0]['#default_value']['fids'])) {
         $file_upload_help['#description'] = $this->fieldFilterXss($this->fieldDefinition->getDescription());
-        $elements[0]['#description'] = \Drupal::service('renderer')->renderPlain($file_upload_help);
+        $elements[0]['#description'] = \Drupal::service('renderer')->renderInIsolation($file_upload_help);
       }
     }
     else {
diff --git a/core/modules/node/src/Plugin/Search/NodeSearch.php b/core/modules/node/src/Plugin/Search/NodeSearch.php
index 9dc4442..ef5e649 100644
--- a/core/modules/node/src/Plugin/Search/NodeSearch.php
+++ b/core/modules/node/src/Plugin/Search/NodeSearch.php
@@ -329,7 +329,7 @@ protected function prepareResults(StatementInterface $found) {
 
       // Fetch comment count for snippet.
       $rendered = SafeMarkup::set(
-        $this->renderer->renderPlain($build) . ' ' .
+        $this->renderer->renderInIsolation($build) . ' ' .
         SafeMarkup::escape($this->moduleHandler->invoke('comment', 'node_update_index', array($node, $item->langcode)))
       );
 
@@ -354,7 +354,7 @@ protected function prepareResults(StatementInterface $found) {
 
       if ($type->displaySubmitted()) {
         $result += array(
-          'user' => $this->renderer->renderPlain($username),
+          'user' => $this->renderer->renderInIsolation($username),
           'date' => $node->getChangedTime(),
         );
       }
@@ -443,7 +443,7 @@ protected function indexNode(NodeInterface $node) {
       $build = $node_render->view($node, 'search_index', $language->getId());
 
       unset($build['#theme']);
-      $rendered = $this->renderer->renderPlain($build);
+      $rendered = $this->renderer->renderInIsolation($build);
 
       $text = '<h1>' . SafeMarkup::checkPlain($node->label($language->getId())) . '</h1>' . $rendered;
 
diff --git a/core/modules/simpletest/src/Form/SimpletestTestForm.php b/core/modules/simpletest/src/Form/SimpletestTestForm.php
index f6d0367..3bbfb02 100644
--- a/core/modules/simpletest/src/Form/SimpletestTestForm.php
+++ b/core/modules/simpletest/src/Form/SimpletestTestForm.php
@@ -127,8 +127,8 @@ public function buildForm(array $form, FormStateInterface $form_state) {
       '#suffix' => '<a href="#" class="simpletest-collapse">(' . $this->t('Collapse') . ')</a>',
     );
     $form['tests']['#attached']['drupalSettings']['simpleTest']['images'] = [
-      $this->renderer->renderPlain($image_collapsed),
-      $this->renderer->renderPlain($image_extended),
+      $this->renderer->renderInIsolation($image_collapsed),
+      $this->renderer->renderInIsolation($image_extended),
     ];
 
     // Generate the list of tests arranged by group.
diff --git a/core/modules/system/src/Tests/Common/AttachedAssetsTest.php b/core/modules/system/src/Tests/Common/AttachedAssetsTest.php
index a9701ff..6e578d1 100644
--- a/core/modules/system/src/Tests/Common/AttachedAssetsTest.php
+++ b/core/modules/system/src/Tests/Common/AttachedAssetsTest.php
@@ -94,8 +94,8 @@ function testAddFiles() {
 
     $css_render_array = \Drupal::service('asset.css.collection_renderer')->render($css);
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_css = $this->renderer->renderPlain($css_render_array);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_css = $this->renderer->renderInIsolation($css_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $query_string = $this->container->get('state')->get('system.css_js_query_string') ?: '0';
     $this->assertNotIdentical(strpos($rendered_css, '<link rel="stylesheet" href="' . file_create_url('core/modules/system/tests/modules/common_test/bar.css') . '?' . $query_string . '" media="all" />'), FALSE, 'Rendering an external CSS file.');
     $this->assertNotIdentical(strpos($rendered_js, '<script src="' . file_create_url('core/modules/system/tests/modules/common_test/foo.js') . '?' . $query_string . '"></script>'), FALSE, 'Rendering an external JavaScript file.');
@@ -132,8 +132,8 @@ function testAddExternalFiles() {
 
     $css_render_array = \Drupal::service('asset.css.collection_renderer')->render($css);
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_css = $this->renderer->renderPlain($css_render_array);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_css = $this->renderer->renderInIsolation($css_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $this->assertNotIdentical(strpos($rendered_css, '<link rel="stylesheet" href="http://example.com/stylesheet.css" media="all" />'), FALSE, 'Rendering an external CSS file.');
     $this->assertNotIdentical(strpos($rendered_js, '<script src="http://example.com/script.js"></script>'), FALSE, 'Rendering an external JavaScript file.');
   }
@@ -147,7 +147,7 @@ function testAttributes() {
 
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $expected_1 = '<script src="http://example.com/deferred-external.js" foo="bar" defer></script>';
     $expected_2 = '<script src="' . file_create_url('core/modules/system/tests/modules/common_test/deferred-internal.js') . '?v=1" defer bar="foo"></script>';
     $this->assertNotIdentical(strpos($rendered_js, $expected_1), FALSE, 'Rendered external JavaScript with correct defer and random attributes.');
@@ -163,7 +163,7 @@ function testAggregatedAttributes() {
 
     $js = $this->assetResolver->getJsAssets($assets, TRUE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $expected_1 = '<script src="http://example.com/deferred-external.js" foo="bar" defer></script>';
     $expected_2 = '<script src="' . file_create_url('core/modules/system/tests/modules/common_test/deferred-internal.js') . '?v=1" defer bar="foo"></script>';
     $this->assertNotIdentical(strpos($rendered_js, $expected_1), FALSE, 'Rendered external JavaScript with correct defer and random attributes.');
@@ -203,7 +203,7 @@ function testSettings() {
 
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
 
     // Parse the generated drupalSettings <script> back to a PHP representation.
     $startToken = 'drupalSettings = ';
@@ -238,7 +238,7 @@ function testHeaderHTML() {
 
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[0];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $query_string = $this->container->get('state')->get('system.css_js_query_string') ?: '0';
     $this->assertNotIdentical(strpos($rendered_js, '<script src="' . file_create_url('core/modules/system/tests/modules/common_test/header.js') . '?' . $query_string . '"></script>'), FALSE, 'The JS asset in common_test/js-header appears in the header.');
     $this->assertNotIdentical(strpos($rendered_js, '<script src="' . file_create_url('core/misc/drupal.js')), FALSE, 'The JS asset of the direct dependency (core/drupal) of common_test/js-header appears in the header.');
@@ -269,7 +269,7 @@ function testBrowserConditionalComments() {
 
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $expected_1 = "<!--[if lte IE 8]>\n" . '<script src="' . file_create_url('core/modules/system/tests/modules/common_test/old-ie.js') . '?' . $default_query_string . '"></script>' . "\n<![endif]-->";
     $expected_2 = "<!--[if !IE]><!-->\n" . '<script src="' . file_create_url('core/modules/system/tests/modules/common_test/no-ie.js') . '?' . $default_query_string . '"></script>' . "\n<!--<![endif]-->";
 
@@ -287,7 +287,7 @@ function testVersionQueryString() {
 
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $this->assertTrue(strpos($rendered_js, 'core/assets/vendor/backbone/backbone-min.js?v=1.1.2') > 0 && strpos($rendered_js, 'core/assets/vendor/domready/ready.min.js?v=1.0.8') > 0 , 'JavaScript version identifiers correctly appended to URLs');
   }
 
@@ -315,7 +315,7 @@ function testRenderOrder() {
     // Retrieve the rendered JavaScript and test against the regex.
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $matches = array();
     if (preg_match_all('/weight_([-0-9]+_[0-9]+)/', $rendered_js, $matches)) {
       $result = $matches[1];
@@ -357,7 +357,7 @@ function testRenderOrder() {
     // Retrieve the rendered CSS and test against the regex.
     $css = $this->assetResolver->getCssAssets($assets, FALSE);
     $css_render_array = \Drupal::service('asset.css.collection_renderer')->render($css);
-    $rendered_css = $this->renderer->renderPlain($css_render_array);
+    $rendered_css = $this->renderer->renderInIsolation($css_render_array);
     $matches = array();
     if (preg_match_all('/([a-z]+)_weight_([-0-9]+_[0-9]+)/', $rendered_css, $matches)) {
       $result = $matches[0];
@@ -380,7 +380,7 @@ function testRenderDifferentWeight() {
 
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $this->assertTrue(strpos($rendered_js, 'lighter.css') < strpos($rendered_js, 'first.js'), 'Lighter CSS assets are rendered first.');
     $this->assertTrue(strpos($rendered_js, 'lighter.js') < strpos($rendered_js, 'first.js'), 'Lighter JavaScript assets are rendered first.');
     $this->assertTrue(strpos($rendered_js, 'before-jquery.js') < strpos($rendered_js, 'core/assets/vendor/jquery/jquery.min.js'), 'Rendering a JavaScript file above jQuery.');
@@ -402,7 +402,7 @@ function testAlter() {
     // takes place.
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $this->assertTrue(strpos($rendered_js, 'simpletest.js') < strpos($rendered_js, 'core/misc/tableselect.js'), 'Altering JavaScript weight through the alter hook.');
   }
 
@@ -423,7 +423,7 @@ function testLibraryAlter() {
     $assets = AttachedAssets::createFromRenderArray($build);
     $js = $this->assetResolver->getJsAssets($assets, FALSE)[1];
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $this->assertTrue(strpos($rendered_js, 'core/assets/vendor/jquery-form/jquery.form.min.js'), 'Altered library dependencies are added to the page.');
   }
 
@@ -474,9 +474,9 @@ function testAddJsFileWithQueryString() {
     $this->assertTrue(array_key_exists('core/modules/system/tests/modules/common_test/querystring.js?arg1=value1&arg2=value2', $js), 'JavaScript file with query string is correctly added.');
 
     $css_render_array = \Drupal::service('asset.css.collection_renderer')->render($css);
-    $rendered_css = $this->renderer->renderPlain($css_render_array);
+    $rendered_css = $this->renderer->renderInIsolation($css_render_array);
     $js_render_array = \Drupal::service('asset.js.collection_renderer')->render($js);
-    $rendered_js = $this->renderer->renderPlain($js_render_array);
+    $rendered_js = $this->renderer->renderInIsolation($js_render_array);
     $query_string = $this->container->get('state')->get('system.css_js_query_string') ?: '0';
     $this->assertNotIdentical(strpos($rendered_css, '<link rel="stylesheet" href="' . str_replace('&', '&amp;', file_create_url('core/modules/system/tests/modules/common_test/querystring.css?arg1=value1&arg2=value2')) . '&amp;' . $query_string . '" media="all" />'), FALSE, 'CSS file with query string gets version query string correctly appended..');
     $this->assertNotIdentical(strpos($rendered_js, '<script src="' . str_replace('&', '&amp;', file_create_url('core/modules/system/tests/modules/common_test/querystring.js?arg1=value1&arg2=value2')) . '&amp;' . $query_string . '"></script>'), FALSE, 'JavaScript file with query string gets version query string correctly appended.');
diff --git a/core/modules/system/tests/modules/theme_test/src/EventSubscriber/ThemeTestSubscriber.php b/core/modules/system/tests/modules/theme_test/src/EventSubscriber/ThemeTestSubscriber.php
index 86a0128..d68bca1 100644
--- a/core/modules/system/tests/modules/theme_test/src/EventSubscriber/ThemeTestSubscriber.php
+++ b/core/modules/system/tests/modules/theme_test/src/EventSubscriber/ThemeTestSubscriber.php
@@ -73,7 +73,7 @@ public function onRequest(GetResponseEvent $event) {
         '#url' => Url::fromRoute('user.page'),
         '#attributes' => array('title' => 'Themed output generated in a KernelEvents::REQUEST listener'),
       );
-      $GLOBALS['theme_test_output'] = $this->renderer->renderPlain($more_link);
+      $GLOBALS['theme_test_output'] = $this->renderer->renderInIsolation($more_link);
     }
   }
 
diff --git a/core/modules/toolbar/toolbar.module b/core/modules/toolbar/toolbar.module
index af992d1..bfd41ae 100644
--- a/core/modules/toolbar/toolbar.module
+++ b/core/modules/toolbar/toolbar.module
@@ -287,7 +287,7 @@ function toolbar_get_rendered_subtrees() {
     $link = $element->link;
     if ($element->subtree) {
       $subtree = $menu_tree->build($element->subtree);
-      $output = \Drupal::service('renderer')->renderPlain($subtree);
+      $output = \Drupal::service('renderer')->renderInIsolation($subtree);
     }
     else {
       $output = '';
diff --git a/core/modules/user/src/Tests/Views/AccessPermissionTest.php b/core/modules/user/src/Tests/Views/AccessPermissionTest.php
index 3e77e2a..df7f017 100644
--- a/core/modules/user/src/Tests/Views/AccessPermissionTest.php
+++ b/core/modules/user/src/Tests/Views/AccessPermissionTest.php
@@ -59,13 +59,13 @@ public function testRenderCaching() {
     // First access as user without access.
     $build = DisplayPluginBase::buildBasicRenderable('test_access_perm', 'default');
     $account_switcher->switchTo($this->normalUser);
-    $result = $renderer->renderPlain($build);
+    $result = $renderer->renderInIsolation($build);
     $this->assertNotEqual($result, '');
 
     // Then with access.
     $build = DisplayPluginBase::buildBasicRenderable('test_access_perm', 'default');
     $account_switcher->switchTo($this->webUser);
-    $result = $renderer->renderPlain($build);
+    $result = $renderer->renderInIsolation($build);
     $this->assertEqual($result, '');
   }
 
diff --git a/core/modules/user/src/Tests/Views/AccessRoleTest.php b/core/modules/user/src/Tests/Views/AccessRoleTest.php
index efca3e2..13e40ed 100644
--- a/core/modules/user/src/Tests/Views/AccessRoleTest.php
+++ b/core/modules/user/src/Tests/Views/AccessRoleTest.php
@@ -116,13 +116,13 @@ public function testRenderCaching() {
     // First access as user without access.
     $build = DisplayPluginBase::buildBasicRenderable('test_access_role', 'default');
     $account_switcher->switchTo($this->normalUser);
-    $result = $renderer->renderPlain($build);
+    $result = $renderer->renderInIsolation($build);
     $this->assertNotEqual($result, '');
 
     // Then with access.
     $build = DisplayPluginBase::buildBasicRenderable('test_access_role', 'default');
     $account_switcher->switchTo($this->webUser);
-    $result = $renderer->renderPlain($build);
+    $result = $renderer->renderInIsolation($build);
     $this->assertEqual($result, '');
   }
 
diff --git a/core/modules/views/src/Plugin/views/style/StylePluginBase.php b/core/modules/views/src/Plugin/views/style/StylePluginBase.php
index af10867..21973d9 100644
--- a/core/modules/views/src/Plugin/views/style/StylePluginBase.php
+++ b/core/modules/views/src/Plugin/views/style/StylePluginBase.php
@@ -678,7 +678,7 @@ protected function renderFields(array $result) {
             '#cache_properties' => $field_ids,
           ];
           $renderer->addCacheableDependency($data, $this->view->storage);
-          $renderer->renderPlain($data);
+          $renderer->renderInIsolation($data);
 
           // Extract field output from the render array and post process it.
           $fields = $this->view->field;
diff --git a/core/modules/views/src/Tests/Handler/SortRandomTest.php b/core/modules/views/src/Tests/Handler/SortRandomTest.php
index f188558..69e91ee 100644
--- a/core/modules/views/src/Tests/Handler/SortRandomTest.php
+++ b/core/modules/views/src/Tests/Handler/SortRandomTest.php
@@ -127,7 +127,7 @@ public function testRandomOrderingWithRenderCaching() {
     $render_cache = \Drupal::service('render_cache');
 
     $original = $build = DisplayPluginBase::buildBasicRenderable($view_random->id(), 'default');
-    $result = $renderer->renderPlain($build);
+    $result = $renderer->renderInIsolation($build);
 
     $original['#cache'] += ['contexts' => []];
     $original['#cache']['contexts'] = Cache::mergeContexts($original['#cache']['contexts'], $this->container->getParameter('renderer.config')['required_cache_contexts']);
@@ -135,7 +135,7 @@ public function testRandomOrderingWithRenderCaching() {
     $this->assertFalse($render_cache->get($original), 'Ensure there is no render cache entry.');
 
     $build = DisplayPluginBase::buildBasicRenderable($view_random->id(), 'default');
-    $result2 = $renderer->renderPlain($build);
+    $result2 = $renderer->renderInIsolation($build);
 
     // Ensure that the random ordering works and don't produce the same result.
     $this->assertNotEqual($result, $result2);
diff --git a/core/modules/views/src/Tests/Plugin/CacheTagTest.php b/core/modules/views/src/Tests/Plugin/CacheTagTest.php
index 3d497d5..bb082cc 100644
--- a/core/modules/views/src/Tests/Plugin/CacheTagTest.php
+++ b/core/modules/views/src/Tests/Plugin/CacheTagTest.php
@@ -123,7 +123,7 @@ public function testTagCaching() {
     $renderer = \Drupal::service('renderer');
     $view = Views::getView('test_tag_cache');
     $build = $view->buildRenderable();
-    $renderer->renderPlain($build);
+    $renderer->renderInIsolation($build);
 
     // Saving the view should invalidate the tags.
     $cache_plugin = $view->display_handler->getPlugin('cache');
@@ -137,7 +137,7 @@ public function testTagCaching() {
 
     $view->destroy();
     $build = $view->buildRenderable();
-    $renderer->renderPlain($build);
+    $renderer->renderInIsolation($build);
 
     // Test invalidating the nodes in this view invalidates the cache.
     $cache_plugin = $view->display_handler->getPlugin('cache');
@@ -151,7 +151,7 @@ public function testTagCaching() {
 
     $view->destroy();
     $build = $view->buildRenderable();
-    $renderer->renderPlain($build);
+    $renderer->renderInIsolation($build);
 
     // Test saving a node in this view invalidates the cache.
     $cache_plugin = $view->display_handler->getPlugin('cache');
@@ -166,7 +166,7 @@ public function testTagCaching() {
 
     $view->destroy();
     $build = $view->buildRenderable();
-    $renderer->renderPlain($build);
+    $renderer->renderInIsolation($build);
 
     // Test saving a node not in this view invalidates the cache too.
     $cache_plugin = $view->display_handler->getPlugin('cache');
@@ -180,7 +180,7 @@ public function testTagCaching() {
 
     $view->destroy();
     $build = $view->buildRenderable();
-    $renderer->renderPlain($build);
+    $renderer->renderInIsolation($build);
 
     // Test that invalidating a tag for a user, does not invalidate the cache,
     // as the user entity type will not be contained in the views cache tags.
@@ -199,7 +199,7 @@ public function testTagCaching() {
     // caching.
     \Drupal::service('cache_tags.invalidator')->invalidateTags($view->storage->getCacheTags());
     $build = $view->buildRenderable();
-    $renderer->renderPlain($build);
+    $renderer->renderInIsolation($build);
 
     // Test the cacheFlush method invalidates the cache.
     $cache_plugin = $view->display_handler->getPlugin('cache');
diff --git a/core/modules/views/src/Tests/Plugin/PagerKernelTest.php b/core/modules/views/src/Tests/Plugin/PagerKernelTest.php
index 71a1c0b..9994d63 100644
--- a/core/modules/views/src/Tests/Plugin/PagerKernelTest.php
+++ b/core/modules/views/src/Tests/Plugin/PagerKernelTest.php
@@ -56,7 +56,7 @@ public function testSetPagerMethods() {
 
     $output = $view->preview();
 
-    \Drupal::service('renderer')->renderPlain($output);
+    \Drupal::service('renderer')->renderInIsolation($output);
     $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age']);
 
     foreach (['setItemsPerPage', 'setOffset', 'setCurrentPage'] as $method) {
@@ -65,7 +65,7 @@ public function testSetPagerMethods() {
       $view->{$method}(1);
       $output = $view->preview();
 
-      \Drupal::service('renderer')->renderPlain($output);
+      \Drupal::service('renderer')->renderInIsolation($output);
       $this->assertIdentical(CacheBackendInterface::CACHE_PERMANENT, $output['#cache']['max-age'], 'Max age kept.');
     }
 
diff --git a/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php b/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php
index 7e7a129..9aac3ad 100644
--- a/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php
@@ -99,14 +99,14 @@ public function testRenderRecursionWithNestedRender() {
   }
 
   /**
-   * ::renderPlain() may be called from anywhere.
+   * ::renderInIsolation() may be called from anywhere.
    *
    * Including from inside of another ::renderRoot() call.
    *
    * @covers ::renderRoot
-   * @covers ::renderPlain
+   * @covers ::renderInIsolation
    */
-  public function testRenderRecursionWithNestedRenderPlain() {
+  public function testRenderRecursionWithNestedrenderInIsolation() {
     list($complex_child_markup, $parent_markup, $complex_child_template) = $this->setUpRenderRecursionComplexElements();
     $renderer = $this->renderer;
     $this->setUpRequest();
@@ -114,7 +114,7 @@ public function testRenderRecursionWithNestedRenderPlain() {
     $complex_child = $complex_child_template;
 
     $callable = function ($elements) use ($renderer, $complex_child, $parent_markup) {
-      $elements['#markup'] = $renderer->renderPlain($complex_child);
+      $elements['#markup'] = $renderer->renderInIsolation($complex_child);
       $this->assertEquals('<p>This is a rendered placeholder!</p>', $elements['#markup'], 'Rendered complex child output as expected, with the placeholder replaced.');
       return $elements;
     };
