Changeset 152293 in webkit


Ignore:
Timestamp:
Jul 2, 2013 8:00:31 AM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[CSSRegions] No other SVG elements except the SVGRoot must have RegionInfo objects attached
https://bugs.webkit.org/show_bug.cgi?id=118295

Patch by Radu Stavila <stavila@adobe.com> on 2013-07-02
Reviewed by Antti Koivisto.

Only the SVGRoot element can be collected in a named flow. As such, no SVG element below the root should
be attached to a RenderBoxRegionInfo object.

A larger patch's test (https://bugs.webkit.org/show_bug.cgi?id=118300) is failing because of this.
This change will be covered by that test.

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderSVGBlock):

  • rendering/svg/RenderSVGBlock.h:
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r152290 r152293  
     12013-07-02  Radu Stavila  <stavila@adobe.com>
     2
     3        [CSSRegions] No other SVG elements except the SVGRoot must have RegionInfo objects attached
     4        https://bugs.webkit.org/show_bug.cgi?id=118295
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Only the SVGRoot element can be collected in a named flow. As such, no SVG element below the root should
     9        be attached to a RenderBoxRegionInfo object.
     10
     11        A larger patch's test (https://bugs.webkit.org/show_bug.cgi?id=118300) is failing because of this.
     12        This change will be covered by that test.
     13
     14        * rendering/RenderBoxModelObject.h:
     15        (WebCore::RenderBoxModelObject::canHaveBoxInfoInRegion):
     16        * rendering/RenderObject.h:
     17        (WebCore::RenderObject::isRenderSVGBlock):
     18        * rendering/svg/RenderSVGBlock.h:
     19
    1202013-07-02  Kangil Han  <kangil.han@samsung.com>
    221
  • trunk/Source/WebCore/rendering/RenderBoxModelObject.h

    r152122 r152293  
    175175    virtual void setSelectionState(SelectionState s);
    176176
    177     bool canHaveBoxInfoInRegion() const { return !isFloating() && !isReplaced() && !isInline() && !hasColumns() && !isTableCell() && isBlockFlow(); }
     177    bool canHaveBoxInfoInRegion() const { return !isFloating() && !isReplaced() && !isInline() && !hasColumns() && !isTableCell() && isBlockFlow() && !isRenderSVGBlock(); }
     178
    178179
    179180    void getGeometryForBackgroundImage(const RenderLayerModelObject* paintContainer, IntRect& destRect, IntPoint& phase, IntSize& tileSize) const;
  • trunk/Source/WebCore/rendering/RenderObject.h

    r152122 r152293  
    354354#endif
    355355    virtual bool isRenderBlock() const { return false; }
     356    virtual bool isRenderSVGBlock() const { return false; };
    356357    virtual bool isRenderButton() const { return false; }
    357358    virtual bool isRenderIFrame() const { return false; }
  • trunk/Source/WebCore/rendering/svg/RenderSVGBlock.h

    r150312 r152293  
    4242    virtual void updateFromStyle() OVERRIDE;
    4343
     44    virtual bool isRenderSVGBlock() const OVERRIDE { return true; };
     45
    4446    virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) const;
    4547
Note: See TracChangeset for help on using the changeset viewer.