diff --git a/library/HTMLPurifier/ElementDef.php b/library/HTMLPurifier/ElementDef.php index eb6ff271..6af5a09c 100644 --- a/library/HTMLPurifier/ElementDef.php +++ b/library/HTMLPurifier/ElementDef.php @@ -90,7 +90,7 @@ class HTMLPurifier_ElementDef /** * Is this element safe for untrusted users to use? */ - var $safe = false; + var $safe; /** * Low-level factory constructor for creating new standalone element defs @@ -137,6 +137,7 @@ class HTMLPurifier_ElementDef if(!empty($def->content_model)) $this->content_model .= ' | ' . $def->content_model; if(!empty($def->content_model_type)) $this->content_model_type = $def->content_model_type; if(!is_null($def->descendants_are_inline)) $this->descendants_are_inline = $def->descendants_are_inline; + if(!is_null($def->safe)) $this->safe = $def->safe; } diff --git a/tests/HTMLPurifier/ElementDefTest.php b/tests/HTMLPurifier/ElementDefTest.php index 893e450f..6ac7b521 100644 --- a/tests/HTMLPurifier/ElementDefTest.php +++ b/tests/HTMLPurifier/ElementDefTest.php @@ -42,6 +42,7 @@ class HTMLPurifier_ElementDefTest extends UnitTestCase 'old' => true, 'removed-old' => true ); + $def1->safe = false; $def2->standalone = false; $def2->attr = array( @@ -68,6 +69,7 @@ class HTMLPurifier_ElementDefTest extends UnitTestCase 'new' => true, 'removed-old' => false ); + $def2->safe = true; $def1->mergeIn($def2); $def1->mergeIn($def3); // empty, has no effect @@ -97,6 +99,7 @@ class HTMLPurifier_ElementDefTest extends UnitTestCase 'old' => true, 'new' => true )); + $this->assertIdentical($def1->safe, true); }