-
dpranke@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=104462 Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-12-11 Reviewed by Antti Koivisto. Source/WebCore: Switch to the new PseudoElement based generated content implementation that moves :before and :after into the DOM. This also switches to using the ComposedShadowTreeWalker for determining the siblings of PseudoElement's making the new generated content implementation support adding :before and :after into <input> elements. Tests: fast/css-generated-content/block-inside-inline.html fast/css-generated-content/box-orient.html * dom/ComposedShadowTreeWalker.cpp: (WebCore::ComposedShadowTreeWalker::pseudoAwareNextSibling): (WebCore): (WebCore::ComposedShadowTreeWalker::pseudoAwarePreviousSibling): (WebCore::ComposedShadowTreeWalker::traverseParent): * dom/ComposedShadowTreeWalker.h: (ComposedShadowTreeWalker): * dom/Element.cpp: (WebCore::Element::attach): (WebCore::Element::recalcStyle): * dom/Node.cpp: * dom/Node.h: (Node): * dom/NodeRenderingContext.cpp: (WebCore::NodeRenderingContext::nextRenderer): (WebCore::NodeRenderingContext::previousRenderer): (WebCore::NodeRenderingContext::createRendererForElementIfNeeded): * dom/Position.cpp: (WebCore::Position::Position): (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): * editing/visible_units.cpp: (WebCore::logicallyPreviousBox): (WebCore::logicallyNextBox): (WebCore::startPositionForLine): (WebCore::endPositionForLine): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer): * page/DragController.cpp: (WebCore::DragController::draggableNode): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::styleDidChange): (WebCore::RenderBlock::splitBlocks): (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): (WebCore::RenderBlock::createReplacementRunIn): (WebCore::RenderBlock::isSelectionRoot): * rendering/RenderBlock.h: (RenderBlock): * rendering/RenderButton.cpp: * rendering/RenderButton.h: (RenderButton): * rendering/RenderInline.cpp: (WebCore::RenderInline::styleDidChange): (WebCore::RenderInline::addChildIgnoringContinuation): (WebCore::RenderInline::splitInlines): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::updateMarkerLocation): * rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): * rendering/RenderObject.h: (WebCore::RenderObject::nonPseudoNode): (RenderObject): (WebCore::RenderObject::clearNode): (WebCore::RenderObject::generatingNode): * rendering/RenderObjectChildList.cpp: * rendering/RenderObjectChildList.h: (RenderObjectChildList): * rendering/RenderRubyText.cpp: * rendering/RenderRubyText.h: (RenderRubyText): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::styleDidChange): * rendering/RenderTableRow.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy): LayoutTests: Add test for block generated content inside inlines which is now supported properly, and also for using box-orient and reordering. before-content-continuation.html's expectations change because we now support block content properly. I skipped fast/css-generated-content/table-row-group-to-inline.html which needs a rebaseline after this this lands. Unfortunately the test output is still wrong because we leave an anonymous RenderTable in the tree, but that bug has always been there. I also skipped fast/css/empty-generated-content.html which needs rebaselines as we no longer create extra anonymous blocks, though the reason is not clear to me. * fast/css-generated-content/before-content-continuation-chain-expected.txt: * fast/css-generated-content/block-inside-inline-expected.html: Added. * fast/css-generated-content/block-inside-inline.html: Added. * fast/css-generated-content/box-orient-expected.html: Added. * fast/css-generated-content/box-orient.html: Added. * platform/chromium/TestExpectations: * platform/mac/TestExpectations: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137336 268f45cc-cd09-0410-ab3c-d52691b4dbfc
cecd9c05