void Text::updateTextLayoutObject(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData, RecalcStyleBehavior recalcStyleBehavior) { if (!inActiveDocument()) return; LayoutText* textLayoutObject = layoutObject(); if (shouldUpdateLayoutByReattaching(*this, textLayoutObject)) { lazyReattachIfAttached(); // FIXME: Editing should be updated so this is not neccesary. if (recalcStyleBehavior == DeprecatedRecalcStyleImmediatlelyForEditing) document().updateLayoutTree(); return; } textLayoutObject->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfReplacedData); }
void Text::updateTextRenderer(unsigned offsetOfReplacedData, unsigned lengthOfReplacedData, RecalcStyleBehavior recalcStyleBehavior) { if (!inActiveDocument()) return; RenderText* textRenderer = renderer(); if (!textRenderer || !textRendererIsNeeded(*textRenderer->style(), *textRenderer->parent())) { lazyReattachIfAttached(); // FIXME: Editing should be updated so this is not neccesary. if (recalcStyleBehavior == DeprecatedRecalcStyleImmediatlelyForEditing) document().updateRenderTreeIfNeeded(); return; } textRenderer->setTextWithOffset(dataImpl(), offsetOfReplacedData, lengthOfReplacedData); }
void SVGGraphicsElement::svgAttributeChanged(const QualifiedName& attrName) { // Reattach so the isValid() check will be run again during layoutObject creation. if (SVGTests::isKnownAttribute(attrName)) { SVGElement::InvalidationGuard invalidationGuard(this); lazyReattachIfAttached(); return; } if (attrName == SVGNames::transformAttr) { LayoutObject* object = layoutObject(); if (!object) return; SVGElement::InvalidationGuard invalidationGuard(this); object->setNeedsTransformUpdate(); markForLayoutAndParentResourceInvalidation(object); return; } SVGElement::svgAttributeChanged(attrName); }