Changeset 159989 in webkit
- Timestamp:
- Dec 2, 2013 7:19:08 PM (10 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r159986 r159989 1 2013-12-02 Andreas Kling <akling@apple.com> 2 3 Avoid setting style twice for generated image content. 4 <https://webkit.org/b/125128> 5 6 Take care of a FIXME I added in r158097 and avoid redundant work in 7 ImageContentData::createRenderer(). 8 9 I changed the inheritance helper RenderImage::setPseudoStyle() into 10 a new createStyleInheritingFromPseudoStyle() function instead so it 11 can be used from both PseudoElement and ImageContentData. 12 13 Reviewed by Antti Koivisto. 14 1 15 2013-12-02 Samuel White <samuel_white@apple.com> 2 16 -
trunk/Source/WebCore/dom/PseudoElement.cpp
r158368 r159989 115 115 if (!child->isImage()) 116 116 continue; 117 toRenderImage( child)->setPseudoStyle(&renderer->style());117 toRenderImage(*child).setStyle(RenderImage::createStyleInheritingFromPseudoStyle(renderer->style())); 118 118 } 119 119 } -
trunk/Source/WebCore/rendering/RenderImage.cpp
r159027 r159989 75 75 } 76 76 77 78 void RenderImage::setPseudoStyle(PassRefPtr<RenderStyle> pseudoStyle) 79 { 80 ASSERT(pseudoStyle->styleType() == BEFORE || pseudoStyle->styleType() == AFTER); 77 PassRef<RenderStyle> RenderImage::createStyleInheritingFromPseudoStyle(const RenderStyle& pseudoStyle) 78 { 79 ASSERT(pseudoStyle.styleType() == BEFORE || pseudoStyle.styleType() == AFTER); 81 80 82 81 // Images are special and must inherit the pseudoStyle so the width and height of … … 84 83 // can just share the style. 85 84 auto style = RenderStyle::create(); 86 style.get().inheritFrom( pseudoStyle.get());87 setStyle(std::move(style));85 style.get().inheritFrom(&pseudoStyle); 86 return style; 88 87 } 89 88 -
trunk/Source/WebCore/rendering/RenderImage.h
r159591 r159989 40 40 virtual ~RenderImage(); 41 41 42 // Set the style of the object if it's generated content.43 void setPseudoStyle(PassRefPtr<RenderStyle>);42 // Create a RenderStyle for generated content by inheriting from a pseudo style. 43 static PassRef<RenderStyle> createStyleInheritingFromPseudoStyle(const RenderStyle&); 44 44 45 45 void setImageResource(PassOwnPtr<RenderImageResource>); -
trunk/Source/WebCore/rendering/style/ContentData.cpp
r159591 r159989 50 50 RenderObject* ImageContentData::createRenderer(Document& document, RenderStyle& pseudoStyle) const 51 51 { 52 // FIXME: We should find a way to avoid setting the style twice here. 53 RenderImage* image = new RenderImage(document, pseudoStyle); 54 image->setPseudoStyle(&pseudoStyle); 52 RenderImage* image = new RenderImage(document, RenderImage::createStyleInheritingFromPseudoStyle(pseudoStyle)); 53 image->initializeStyle(); 55 54 image->setAltText(altText()); 56 55 if (m_image)
Note: See TracChangeset
for help on using the changeset viewer.