diff options
Diffstat (limited to 'Source/WebCore/rendering/ShadowElement.cpp')
-rw-r--r-- | Source/WebCore/rendering/ShadowElement.cpp | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/Source/WebCore/rendering/ShadowElement.cpp b/Source/WebCore/rendering/ShadowElement.cpp index 5b1a962..955384a 100644 --- a/Source/WebCore/rendering/ShadowElement.cpp +++ b/Source/WebCore/rendering/ShadowElement.cpp @@ -29,85 +29,6 @@ namespace WebCore { using namespace HTMLNames; -PassRefPtr<ShadowBlockElement> ShadowBlockElement::create(HTMLElement* shadowParent) -{ - return adoptRef(new ShadowBlockElement(shadowParent)); -} - -ShadowBlockElement::ShadowBlockElement(HTMLElement* shadowParent) - : ShadowElement<HTMLDivElement>(divTag, shadowParent) -{ -} - -void ShadowBlockElement::layoutAsPart(const IntRect& partRect) -{ - RenderBox* parentRenderer = toRenderBox(renderer()->parent()); - RenderBox* selfRenderer = toRenderBox(renderer()); - IntRect oldRect = selfRenderer->frameRect(); - - LayoutStateMaintainer statePusher(parentRenderer->view(), parentRenderer, parentRenderer->size(), parentRenderer->style()->isFlippedBlocksWritingMode()); - - if (oldRect.size() != partRect.size()) - selfRenderer->setChildNeedsLayout(true, false); - - selfRenderer->layoutIfNeeded(); - selfRenderer->setFrameRect(partRect); - - if (selfRenderer->checkForRepaintDuringLayout()) - selfRenderer->repaintDuringLayoutIfMoved(oldRect); - - statePusher.pop(); - parentRenderer->addOverflowFromChild(selfRenderer); -} - -void ShadowBlockElement::updateStyleForPart(PseudoId pseudoId) -{ - if (renderer()->style()->styleType() != pseudoId) - renderer()->setStyle(createStyleForPart(renderer()->parent(), pseudoId)); -} - -PassRefPtr<ShadowBlockElement> ShadowBlockElement::createForPart(HTMLElement* shadowParent, PseudoId pseudoId) -{ - RefPtr<ShadowBlockElement> part = create(shadowParent); - part->initAsPart(pseudoId); - return part.release(); -} - -void ShadowBlockElement::initAsPart(PseudoId pseudoId) -{ - RenderObject* parentRenderer = shadowHost()->renderer(); - RefPtr<RenderStyle> styleForPart = createStyleForPart(parentRenderer, pseudoId); - setRenderer(createRenderer(parentRenderer->renderArena(), styleForPart.get())); - renderer()->setStyle(styleForPart.release()); - setAttached(); - setInDocument(); -} - -PassRefPtr<RenderStyle> ShadowBlockElement::createStyleForPart(RenderObject* parentRenderer, PseudoId pseudoId) -{ - RefPtr<RenderStyle> styleForPart; - RenderStyle* pseudoStyle = parentRenderer->getCachedPseudoStyle(pseudoId); - if (pseudoStyle) - styleForPart = RenderStyle::clone(pseudoStyle); - else - styleForPart = RenderStyle::create(); - - styleForPart->inheritFrom(parentRenderer->style()); - styleForPart->setDisplay(BLOCK); - styleForPart->setAppearance(NoControlPart); - return styleForPart.release(); -} - -bool ShadowBlockElement::partShouldHaveStyle(const RenderObject* parentRenderer, PseudoId pseudoId) -{ - // We have some -webkit-appearance values for default styles of parts and - // that appearance get turned off during RenderStyle creation - // if they have background styles specified. - // So !hasAppearance() implies that there are something to be styled. - RenderStyle* pseudoStyle = parentRenderer->getCachedPseudoStyle(pseudoId); - return !(pseudoStyle && pseudoStyle->hasAppearance()); -} - PassRefPtr<ShadowInputElement> ShadowInputElement::create(HTMLElement* shadowParent) { return adoptRef(new ShadowInputElement(shadowParent)); |