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);
}