Change-Id: I47578b3f73320e84a157417c288de97b5d26e18f
* @param integer $sourceStart
* @param integer $sourceLength
*/
* @param integer $sourceStart
* @param integer $sourceLength
*/
public function insertElement( $preposition, $refElement, Element $element, $void,
$sourceStart, $sourceLength
) {
public function insertElement( $preposition, $refElement, Element $element, $void,
$sourceStart, $sourceLength
) {
$newParent = $this->serializer->getParentNode( $parent );
$parent = $newParent;
$parentData = $parent->snData;
$newParent = $this->serializer->getParentNode( $parent );
$parent = $newParent;
$parentData = $parent->snData;
+ $pElement = $parentData->childPElement;
$parentData->childPElement = null;
$newRef = $refElement->userData;
$parentData->childPElement = null;
$newRef = $refElement->userData;
- // FIXME cannot call endTag() since we don't have an Element
+ $this->endTag( $pElement, $sourceStart, 0 );
} elseif ( $under && $parentData->isSplittable
&& (bool)$parentData->ancestorPNode !== $inline
) {
} elseif ( $under && $parentData->isSplittable
&& (bool)$parentData->ancestorPNode !== $inline
) {
}
public function endTag( Element $element, $sourceStart, $sourceLength ) {
}
public function endTag( Element $element, $sourceStart, $sourceLength ) {
+ $data = $element->userData->snData;
+ if ( $data->childPElement ) {
+ $this->endTag( $data->childPElement, $sourceStart, 0 );
+ }
$this->serializer->endTag( $element, $sourceStart, $sourceLength );
$this->serializer->endTag( $element, $sourceStart, $sourceLength );
+ $element->userData->snData = null;
+ $element->userData = null;
}
public function doctype( $name, $public, $system, $quirks, $sourceStart, $sourceLength ) {
}
public function doctype( $name, $public, $system, $quirks, $sourceStart, $sourceLength ) {