diff --git a/core/modules/system/src/Tests/Menu/BreadcrumbTest.php b/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
index ea55662..e762c1f 100644
--- a/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
+++ b/core/modules/system/src/Tests/Menu/BreadcrumbTest.php
@@ -362,6 +362,11 @@ function testBreadCrumbs() {
$trail += array('admin/reports' => t('Reports'));
$this->assertBreadcrumb('admin/reports/dblog', $trail, t('Recent log messages'));
$this->assertNoResponse(403);
+
+ // Ensure that the breadcrumb is safe against XSS.
+ $this->drupalGet('menu-test/breadcrumb1/breadcrumb2/breadcrumb3');
+ $this->assertRaw('');
+ $this->assertRaw(String::checkPlain(''));
}
}
diff --git a/core/modules/system/tests/modules/menu_test/menu_test.routing.yml b/core/modules/system/tests/modules/menu_test/menu_test.routing.yml
index 7e6984d..d5fbeca 100644
--- a/core/modules/system/tests/modules/menu_test/menu_test.routing.yml
+++ b/core/modules/system/tests/modules/menu_test/menu_test.routing.yml
@@ -367,3 +367,27 @@ menu_test.custom:
_content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback'
requirements:
_access: 'TRUE'
+
+menu_test.breadcrumb1:
+ path: '/menu-test/breadcrumb1'
+ defaults:
+ _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback'
+ _title: ''
+ requirements:
+ _access: 'TRUE'
+
+menu_test.breadcrumb2:
+ path: '/menu-test/breadcrumb1/breadcrumb2'
+ defaults:
+ _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback'
+ _title_callback: '\Drupal\menu_test\Controller\MenuTestController::breadcrumbTitleCallback'
+ requirements:
+ _access: 'TRUE'
+
+menu_test.breadcrumb3:
+ path: '/menu-test/breadcrumb1/breadcrumb2/breadcrumb3'
+ defaults:
+ _content: '\Drupal\menu_test\Controller\MenuTestController::menuTestCallback'
+ _title: 'Normal title'
+ requirements:
+ _access: 'TRUE'
diff --git a/core/modules/system/tests/modules/menu_test/src/Controller/MenuTestController.php b/core/modules/system/tests/modules/menu_test/src/Controller/MenuTestController.php
index 5658582..05b4333 100644
--- a/core/modules/system/tests/modules/menu_test/src/Controller/MenuTestController.php
+++ b/core/modules/system/tests/modules/menu_test/src/Controller/MenuTestController.php
@@ -43,4 +43,13 @@ public function themePage($inherited) {
return menu_test_theme_page_callback($inherited);
}
+ /**
+ * A title callback for XSS breadcrumb check.
+ *
+ * @return string
+ */
+ public function breadcrumbTitleCallback() {
+ return '';
+ }
+
}