Commit 7ef5ad66 authored by catch's avatar catch
Browse files

Issue #3272516 by Wim Leers, yogeshmpawar, bnjmnm, catch: Deprecate...

Issue #3272516 by Wim Leers, yogeshmpawar, bnjmnm, catch: Deprecate FilterInterface::getHTMLRestrictions()' forbidden_tags functionality

(cherry picked from commit c7a69429)
parent 02ffcc43
......@@ -43,7 +43,6 @@ class ValidatorsTest extends KernelTestBase {
'ckeditor5_plugin_conditions_test',
'editor',
'filter',
'filter_test',
'media',
'media_library',
'views',
......@@ -462,33 +461,6 @@ public function providerPair(): array {
],
'violations' => [],
];
$data['INVALID: forbidden tags'] = [
'settings' => [
'toolbar' => [
'items' => [],
],
'plugins' => [],
],
'image_upload' => [
'status' => FALSE,
],
'filters' => [
'filter_test_restrict_tags_and_attributes' => [
'id' => 'filter_test_restrict_tags_and_attributes',
'provider' => 'filter_test',
'status' => TRUE,
'weight' => 0,
'settings' => [
'restrictions' => [
'forbidden_tags' => ['p' => FALSE],
],
],
],
],
'violations' => [
'' => 'CKEditor 5 needs at least the &lt;p&gt; and &lt;br&gt; tags to be allowed to be able to function. They are forbidden by the "<em class="placeholder">Tag and attribute restricting filter</em>" (<em class="placeholder">filter_test_restrict_tags_and_attributes</em>) filter.',
],
];
$restricted_html_format_filters = Yaml::parseFile(__DIR__ . '/../../../../../profiles/standard/config/install/filter.format.restricted_html.yml')['filters'];
$data['INVALID: the default restricted_html text format'] = [
'settings' => [
......
......@@ -297,6 +297,10 @@ public function getHtmlRestrictions() {
$restrictions = array_reduce($filters, function ($restrictions, $filter) {
$new_restrictions = $filter->getHTMLRestrictions();
if (isset($new_restrictions['forbidden_tags'])) {
@trigger_error('forbidden_tags for FilterInterface::getHTMLRestrictions() is deprecated in drupal:9.4.0 and is removed from drupal:10.0.0', E_USER_DEPRECATED);
}
// The first filter with HTML restrictions provides the initial set.
if (!isset($restrictions)) {
return $new_restrictions;
......
......@@ -198,7 +198,7 @@ public function process($text, $langcode);
* be attribute values (which may use a wildcard, e.g. "xsd:*"),
* the possible values are TRUE or FALSE: to mark the attribute
* value as allowed or forbidden, respectively
* - 'forbidden_tags': (optional) the forbidden tags
* - 'forbidden_tags': (deprecated) the forbidden tags
*
* There is one special case: the "wildcard tag", "*": any attribute
* restrictions on that pseudotag apply to all tags.
......
......@@ -509,4 +509,28 @@ public function testSleep() {
$this->assertNotContains('filterCollection', $vars);
}
/**
* Tests deprecated "forbidden tags" functionality.
*
* @group legacy
*/
public function testForbiddenTagsDeprecated(): void {
$this->expectDeprecation('forbidden_tags for FilterInterface::getHTMLRestrictions() is deprecated in drupal:9.4.0 and is removed from drupal:10.0.0');
FilterFormat::create([
'format' => 'forbidden_tags_deprecation_test',
'name' => 'Forbidden tags deprecation test',
'filters' => [
'filter_test_restrict_tags_and_attributes' => [
'status' => TRUE,
'settings' => [
'restrictions' => [
'forbidden_tags' => ['p' => FALSE],
],
],
],
],
])->save();
FilterFormat::load('forbidden_tags_deprecation_test')->getHtmlRestrictions();
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment