Changeset 161140 in webkit
- Timestamp:
- Dec 30, 2013, 6:04:44 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r161137 r161140 1 2013-12-30 Antti Koivisto <antti@apple.com> 2 3 XML document builder should create render tree asynchronously 4 https://bugs.webkit.org/show_bug.cgi?id=126285 5 6 Reviewed by Andreas Kling. 7 8 * platform/mac/fast/table/dynamic-caption-add-before-child-expected.png: 9 * platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt: 10 11 This is progression. Captions are now correctly in document order. 12 13 * svg/custom/object-no-size-attributes-expected.txt: 14 15 Unnecessary text renderer disappears. 16 17 * svg/custom/resource-invalidation-crash-expected.txt: 18 19 Progression, the dump has the correct fill. 20 1 21 2013-12-29 Joone Hur <joone.hur@intel.com> 2 22 -
trunk/LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.txt
r161129 r161140 5 5 RenderBody {body} at (8,8) size 784x216 6 6 RenderTable {table} at (0,0) size 81x216 7 RenderBlock {caption} at (0, 144) size 81x727 RenderBlock {caption} at (0,0) size 81x72 8 8 RenderText {#text} at (19,0) size 81x72 9 9 text run at (19,0) width 43: "PASS:" … … 11 11 text run at (21,36) width 39: "added" 12 12 text run at (17,54) width 47: "caption" 13 RenderBlock {caption} at (0, 0) size 81x3613 RenderBlock {caption} at (0,72) size 81x36 14 14 RenderText {#text} at (2,0) size 77x36 15 15 text run at (2,0) width 77: "PASS: Text" 16 16 text run at (3,18) width 75: "in caption 1" 17 layer at (8,44) size 81x3618 RenderBlock {caption} at (0,36) size 81x3619 RenderText {#text} at (2,0) size 77x3620 text run at (2,0) width 77: "PASS: Text"21 text run at (3,18) width 75: "in caption 2"22 layer at (8,80) size 81x3623 RenderBlock {caption} at (0,72) size 81x3624 RenderText {#text} at (2,0) size 77x3625 text run at (2,0) width 77: "PASS: Text"26 text run at (3,18) width 75: "in caption 3"27 17 layer at (8,116) size 81x36 28 18 RenderBlock {caption} at (0,108) size 81x36 29 19 RenderText {#text} at (2,0) size 77x36 30 20 text run at (2,0) width 77: "PASS: Text" 21 text run at (3,18) width 75: "in caption 2" 22 layer at (8,152) size 81x36 23 RenderBlock {caption} at (0,144) size 81x36 24 RenderText {#text} at (2,0) size 77x36 25 text run at (2,0) width 77: "PASS: Text" 26 text run at (3,18) width 75: "in caption 3" 27 layer at (8,188) size 81x36 28 RenderBlock {caption} at (0,180) size 81x36 29 RenderText {#text} at (2,0) size 77x36 30 text run at (2,0) width 77: "PASS: Text" 31 31 text run at (3,18) width 75: "in caption 4" -
trunk/LayoutTests/svg/custom/object-no-size-attributes-expected.txt
r149088 r161140 11 11 RenderSVGRect {rect} at (0,0) size 100x100 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=0.00] [width=100.00] [height=100.00] 12 12 RenderText {#text} at (0,0) size 0x0 13 RenderText {#text} at (0,0) size 0x0 -
trunk/LayoutTests/svg/custom/resource-invalidation-crash-expected.txt
r103407 r161140 9 9 RenderSVGResourcePattern {pattern} [id="a"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse] 10 10 RenderSVGResourcePattern {pattern} [id="b"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse] 11 RenderSVGRect {rect} at (0,0) size 0x0 [fill={[type= SOLID] [color=#000000]}] [x=0.00] [y=0.00] [width=0.00] [height=0.00]11 RenderSVGRect {rect} at (0,0) size 0x0 [fill={[type=PATTERN] [id="a"]}] [x=0.00] [y=0.00] [width=0.00] [height=0.00] 12 12 RenderSVGResourcePattern {pattern} [id="a"] [patternUnits=objectBoundingBox] [patternContentUnits=userSpaceOnUse] 13 13 RenderSVGRect {rect} at (0,0) size 0x0 [fill={[type=PATTERN] [id="a"]}] [x=0.00] [y=0.00] [width=0.00] [height=0.00] -
trunk/Source/WebCore/ChangeLog
r161137 r161140 1 2013-12-30 Antti Koivisto <antti@apple.com> 2 3 XML document builder should create render tree asynchronously 4 https://bugs.webkit.org/show_bug.cgi?id=126285 5 6 Reviewed by Andreas Kling. 7 8 Stop creating renderers explicitly. 9 Fix SVG <use> element to not rely on parse time render tree construction. 10 11 * svg/SVGUseElement.cpp: 12 (WebCore::SVGUseElement::svgAttributeChanged): 13 14 Remove renderer check, we may not have created the render tree yet. 15 16 (WebCore::SVGUseElement::willAttachRenderers): 17 18 Switch to willAttachRenderers from willRecalcStyle. The latter is only called as long as style 19 recalc doesn't start creating new renderers. 20 21 (WebCore::SVGUseElement::invalidateShadowTree): 22 23 Remove renderer check, we may not have created the render tree yet. 24 Invalidate with ReconstructRenderTree so willAttachRenderers will always get called. 25 26 * svg/SVGUseElement.h: 27 * xml/parser/XMLDocumentParser.cpp: 28 (WebCore::XMLDocumentParser::exitText): 29 * xml/parser/XMLDocumentParserLibxml2.cpp: 30 (WebCore::XMLDocumentParser::startElementNs): 31 (WebCore::XMLDocumentParser::cdataBlock): 32 33 Remove explicit call to attachRenderTree. The render tree will be created lazily. 34 1 35 2013-12-29 Joone Hur <joone.hur@intel.com> 2 36 -
trunk/Source/WebCore/svg/SVGUseElement.cpp
r160651 r161140 258 258 } 259 259 260 if (!renderer)261 return;262 263 260 if (SVGLangSpace::isKnownAttribute(attrName) 264 261 || SVGExternalResourcesRequired::isKnownAttribute(attrName)) { … … 270 267 } 271 268 272 bool SVGUseElement::willRecalcStyle(Style::Change)273 { 274 if ( !m_wasInsertedByParser && m_needsShadowTreeRecreation && renderer() && needsStyleRecalc())269 void SVGUseElement::willAttachRenderers() 270 { 271 if (m_needsShadowTreeRecreation) 275 272 buildPendingResource(); 276 return true;277 273 } 278 274 … … 890 886 void SVGUseElement::invalidateShadowTree() 891 887 { 892 if ( !renderer() ||m_needsShadowTreeRecreation)888 if (m_needsShadowTreeRecreation) 893 889 return; 894 890 m_needsShadowTreeRecreation = true; 895 setNeedsStyleRecalc( );891 setNeedsStyleRecalc(ReconstructRenderTree); 896 892 invalidateDependentShadowTrees(); 897 893 } -
trunk/Source/WebCore/svg/SVGUseElement.h
r158097 r161140 68 68 virtual void svgAttributeChanged(const QualifiedName&); 69 69 70 virtual bool willRecalcStyle(Style::Change);70 virtual void willAttachRenderers() OVERRIDE; 71 71 72 72 virtual RenderElement* createRenderer(PassRef<RenderStyle>) OVERRIDE; -
trunk/Source/WebCore/xml/parser/XMLDocumentParser.cpp
r161128 r161140 42 42 #include "ImageLoader.h" 43 43 #include "ProcessingInstruction.h" 44 #include "RenderElement.h"45 #include "RenderText.h"46 44 #include "ResourceError.h" 47 45 #include "ResourceRequest.h" … … 169 167 m_bufferedText.swap(empty); 170 168 171 if (m_view && m_leafTextNode->parentNode() && m_leafTextNode->parentNode()->renderer() && !m_leafTextNode->renderer())172 Style::attachTextRenderer(*m_leafTextNode);173 174 169 m_leafTextNode = 0; 175 170 } -
trunk/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
r161127 r161140 48 48 #include "Page.h" 49 49 #include "ProcessingInstruction.h" 50 #include "RenderElement.h"51 50 #include "ResourceError.h" 52 51 #include "ResourceRequest.h" … … 846 845 return; 847 846 848 const ContainerNode* currentNode = m_currentNode;849 847 #if ENABLE(TEMPLATE_ELEMENT) 850 848 if (newElement->hasTagName(HTMLNames::templateTag)) … … 856 854 #endif 857 855 858 if (m_view && currentNode->renderer() && !newElement->renderer())859 Style::attachRenderTree(*newElement);860 861 856 if (newElement->hasTagName(HTMLNames::htmlTag)) 862 857 toHTMLHtmlElement(newElement.get())->insertedByParser(); … … 1031 1026 1032 1027 RefPtr<CDATASection> newNode = CDATASection::create(m_currentNode->document(), toString(s, len)); 1033 m_currentNode->parserAppendChild(newNode.get()); 1034 if (m_view) 1035 Style::attachTextRenderer(*newNode); 1028 m_currentNode->parserAppendChild(newNode.release()); 1036 1029 } 1037 1030 … … 1049 1042 1050 1043 RefPtr<Comment> newNode = Comment::create(m_currentNode->document(), toString(s)); 1051 m_currentNode->parserAppendChild(newNode. get());1044 m_currentNode->parserAppendChild(newNode.release()); 1052 1045 } 1053 1046
Note:
See TracChangeset
for help on using the changeset viewer.