void RenderReplaced::intrinsicSizeChanged() { int scaledWidth = static_cast<int>(cDefaultWidth * style().effectiveZoom()); int scaledHeight = static_cast<int>(cDefaultHeight * style().effectiveZoom()); m_intrinsicSize = IntSize(scaledWidth, scaledHeight); setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderCounter::invalidate(const AtomicString& identifier) { if (m_counter.identifier() != identifier) return; m_counterNode = 0; setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderCounter::invalidate() { m_counterNode->removeRenderer(this); ASSERT(!m_counterNode); if (documentBeingDestroyed()) return; setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderSVGInlineText::destroy() { if (!documentBeingDestroyed()) { setNeedsLayoutAndPrefWidthsRecalc(); repaint(); } RenderText::destroy(); }
void RenderListMarker::imageChanged(CachedImage* o) { // A list marker can't have a background or border image, so no need to call the base class method. if (o != m_image) return; if (m_width != m_image->imageSize().width() || m_height != m_image->imageSize().height() || m_image->errorOccurred()) setNeedsLayoutAndPrefWidthsRecalc(); else repaint(); }
void RenderListMarker::setStyle(RenderStyle* s) { if (style() && (s->listStylePosition() != style()->listStylePosition() || s->listStyleType() != style()->listStyleType())) setNeedsLayoutAndPrefWidthsRecalc(); RenderBox::setStyle(s); if (m_image != style()->listStyleImage()) { if (m_image) m_image->deref(this); m_image = style()->listStyleImage(); if (m_image) m_image->ref(this); } }
void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) { bool hadTransform = hasTransform(); bool hadLayer = hasLayer(); bool layerWasSelfPainting = hadLayer && layer()->isSelfPaintingLayer(); RenderObject::styleDidChange(diff, oldStyle); updateFromStyle(); if (requiresLayer()) { if (!layer() && layerCreationAllowedForSubtree()) { if (s_wasFloating && isFloating()) setChildNeedsLayout(); createLayer(); if (parent() && !needsLayout() && containingBlock()) { layer()->repainter().setRepaintStatus(NeedsFullRepaint); // There is only one layer to update, it is not worth using |cachedOffset| since // we are not sure the value will be used. layer()->updateLayerPositions(0); } } } else if (layer() && layer()->parent()) { setHasTransform(false); // Either a transform wasn't specified or the object doesn't support transforms, so just null out the bit. setHasReflection(false); layer()->removeOnlyThisLayer(); // calls destroyLayer() which clears m_layer if (s_wasFloating && isFloating()) setChildNeedsLayout(); if (hadTransform) setNeedsLayoutAndPrefWidthsRecalc(); } if (layer()) { layer()->styleChanged(diff, oldStyle); if (hadLayer && layer()->isSelfPaintingLayer() != layerWasSelfPainting) setChildNeedsLayout(); } if (FrameView *frameView = view()->frameView()) { bool newStyleIsViewportConstained = style()->hasViewportConstrainedPosition(); bool oldStyleIsViewportConstrained = oldStyle && oldStyle->hasViewportConstrainedPosition(); if (newStyleIsViewportConstained != oldStyleIsViewportConstrained) { if (newStyleIsViewportConstained && layer()) frameView->addViewportConstrainedObject(this); else frameView->removeViewportConstrainedObject(this); } } }
void RenderRubyBase::moveChildren(RenderRubyBase* toBase, RenderObject* beforeChild) { // This function removes all children that are before (!) beforeChild // and appends them to toBase. ASSERT_ARG(toBase, toBase); if (beforeChild && beforeChild->parent() != this) beforeChild = splitAnonymousBoxesAroundChild(beforeChild); if (childrenInline()) moveInlineChildren(toBase, beforeChild); else moveBlockChildren(toBase, beforeChild); setNeedsLayoutAndPrefWidthsRecalc(); toBase->setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderRubyBase::moveChildren(RenderRubyBase* toBase, RenderObject* fromBeforeChild) { // This function removes all children that are before (!) beforeChild // and appends them to toBase. ASSERT(toBase); // First make sure that beforeChild (if set) is indeed a direct child of this. // Inline children might be wrapped in an anonymous block if there's a continuation. // Theoretically, in ruby bases, this can happen with only the first such a child, // so it should be OK to just climb the tree. while (fromBeforeChild && fromBeforeChild->parent() != this) fromBeforeChild = fromBeforeChild->parent(); if (childrenInline()) moveInlineChildren(toBase, fromBeforeChild); else moveBlockChildren(toBase, fromBeforeChild); setNeedsLayoutAndPrefWidthsRecalc(); toBase->setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderReplaced::intrinsicSizeChanged() { m_intrinsicSize = IntSize(static_cast<int>(cDefaultWidth * style()->effectiveZoom()), static_cast<int>(cDefaultHeight * style()->effectiveZoom())); setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderMathMLPadded::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) { RenderMathMLRow::styleDidChange(diff, oldStyle); setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderMathMLPadded::updateFromElement() { RenderMathMLRow::updateFromElement(); setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) { RenderElement::styleDidChange(diff, oldStyle); updateFromStyle(); if (requiresLayer()) { if (!layer() && layerCreationAllowedForSubtree()) { if (s_wasFloating && isFloating()) setChildNeedsLayout(); createLayer(); if (parent() && !needsLayout() && containingBlock()) { layer()->setRepaintStatus(NeedsFullRepaint); // There is only one layer to update, it is not worth using |cachedOffset| since // we are not sure the value will be used. layer()->updateLayerPositions(0); } } } else if (layer() && layer()->parent()) { #if ENABLE(CSS_COMPOSITING) if (oldStyle->hasBlendMode()) layer()->parent()->dirtyAncestorChainHasBlendingDescendants(); #endif setHasTransformRelatedProperty(false); // All transform-related propeties force layers, so we know we don't have one or the object doesn't support them. setHasReflection(false); // Repaint the about to be destroyed self-painting layer when style change also triggers repaint. if (layer()->isSelfPaintingLayer() && layer()->repaintStatus() == NeedsFullRepaint) repaintUsingContainer(containerForRepaint(), layer()->repaintRect()); layer()->removeOnlyThisLayer(); // calls destroyLayer() which clears m_layer if (s_wasFloating && isFloating()) setChildNeedsLayout(); if (s_hadTransform) setNeedsLayoutAndPrefWidthsRecalc(); } if (layer()) { layer()->styleChanged(diff, oldStyle); if (s_hadLayer && layer()->isSelfPaintingLayer() != s_layerWasSelfPainting) setChildNeedsLayout(); } bool newStyleIsViewportConstrained = style().hasViewportConstrainedPosition(); bool oldStyleIsViewportConstrained = oldStyle && oldStyle->hasViewportConstrainedPosition(); if (newStyleIsViewportConstrained != oldStyleIsViewportConstrained) { if (newStyleIsViewportConstrained && layer()) view().frameView().addViewportConstrainedObject(this); else view().frameView().removeViewportConstrainedObject(this); } #if ENABLE(CSS_SCROLL_SNAP) const RenderStyle& newStyle = style(); if (oldStyle && scrollSnapContainerRequiresUpdateForStyleUpdate(*oldStyle, newStyle)) { if (RenderLayer* renderLayer = layer()) { renderLayer->updateSnapOffsets(); renderLayer->updateScrollSnapState(); } else if (isBody() || isDocumentElementRenderer()) { FrameView& frameView = view().frameView(); frameView.updateSnapOffsets(); frameView.updateScrollSnapState(); frameView.updateScrollingCoordinatorScrollSnapProperties(); } } if (oldStyle && oldStyle->scrollSnapCoordinates() != newStyle.scrollSnapCoordinates()) { const RenderBox* scrollSnapBox = enclosingBox().findEnclosingScrollableContainer(); if (scrollSnapBox && scrollSnapBox->layer()) { const RenderStyle& style = scrollSnapBox->style(); if (style.scrollSnapType() != ScrollSnapType::None) { scrollSnapBox->layer()->updateSnapOffsets(); scrollSnapBox->layer()->updateScrollSnapState(); if (scrollSnapBox->isBody() || scrollSnapBox->isDocumentElementRenderer()) scrollSnapBox->view().frameView().updateScrollingCoordinatorScrollSnapProperties(); } } } #endif }
void RenderReplaced::intrinsicSizeChanged() { m_intrinsicSize = IntSize(defaultWidth, defaultHeight); setNeedsLayoutAndPrefWidthsRecalc(); }
void RenderCounter::invalidate() { m_counterNode = 0; setNeedsLayoutAndPrefWidthsRecalc(); }