OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2009, Google Inc. All rights reserved. | 2 * Copyright (c) 2009, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 class RenderSVGModelObject : public RenderObject { | 44 class RenderSVGModelObject : public RenderObject { |
45 public: | 45 public: |
46 explicit RenderSVGModelObject(SVGElement*); | 46 explicit RenderSVGModelObject(SVGElement*); |
47 | 47 |
48 virtual bool isChildAllowed(RenderObject*, RenderStyle*) const override; | 48 virtual bool isChildAllowed(RenderObject*, RenderStyle*) const override; |
49 virtual bool canHaveWhitespaceChildren() const override { return false; } | 49 virtual bool canHaveWhitespaceChildren() const override { return false; } |
50 | 50 |
51 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer
ModelObject* paintInvalidationContainer, const PaintInvalidationState* = 0) cons
t override; | 51 virtual LayoutRect clippedOverflowRectForPaintInvalidation(const RenderLayer
ModelObject* paintInvalidationContainer, const PaintInvalidationState* = 0) cons
t override; |
52 virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObje
ct* paintInvalidationContainer, FloatRect&, const PaintInvalidationState*) const
override final; | 52 virtual void computeFloatRectForPaintInvalidation(const RenderLayerModelObje
ct* paintInvalidationContainer, FloatRect&, const PaintInvalidationState*) const
override final; |
53 | 53 |
| 54 virtual FloatRect paintInvalidationRectInLocalCoordinates() const override f
inal { return m_paintInvalidationBoundingBox; } |
| 55 |
54 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO
ffset) const override final; | 56 virtual void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedO
ffset) const override final; |
55 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid
e; | 57 virtual void absoluteQuads(Vector<FloatQuad>&, bool* wasFixed) const overrid
e; |
56 | 58 |
57 virtual void mapLocalToContainer(const RenderLayerModelObject* paintInvalida
tionContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool*
wasFixed = 0, const PaintInvalidationState* = 0) const override final; | 59 virtual void mapLocalToContainer(const RenderLayerModelObject* paintInvalida
tionContainer, TransformState&, MapCoordinatesFlags = ApplyContainerFlip, bool*
wasFixed = 0, const PaintInvalidationState* = 0) const override final; |
58 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj
ect* ancestorToStopAt, RenderGeometryMap&) const override final; | 60 virtual const RenderObject* pushMappingToContainer(const RenderLayerModelObj
ect* ancestorToStopAt, RenderGeometryMap&) const override final; |
59 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) ov
erride; | 61 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) ov
erride; |
60 | 62 |
61 virtual void computeLayerHitTestRects(LayerHitTestRects&) const override fin
al; | 63 virtual void computeLayerHitTestRects(LayerHitTestRects&) const override fin
al; |
62 | 64 |
63 SVGElement* element() const { return toSVGElement(RenderObject::node()); } | 65 SVGElement* element() const { return toSVGElement(RenderObject::node()); } |
64 | 66 |
65 virtual bool isOfType(RenderObjectType type) const override { return type ==
RenderObjectSVG || RenderObject::isOfType(type); } | 67 virtual bool isOfType(RenderObjectType type) const override { return type ==
RenderObjectSVG || RenderObject::isOfType(type); } |
66 | 68 |
67 protected: | 69 protected: |
68 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur
rentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& container
Rect) const override final; | 70 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer* cur
rentCompositedLayer, const LayoutPoint& layerOffset, const LayoutRect& container
Rect) const override final; |
69 virtual void willBeDestroyed() override; | 71 virtual void willBeDestroyed() override; |
70 | 72 |
71 private: | 73 private: |
72 // RenderSVGModelObject subclasses should use element() instead. | 74 // RenderSVGModelObject subclasses should use element() instead. |
73 void node() const WTF_DELETED_FUNCTION; | 75 void node() const WTF_DELETED_FUNCTION; |
74 | 76 |
75 // This method should never be called, SVG uses a different nodeAtPoint meth
od | 77 // This method should never be called, SVG uses a different nodeAtPoint meth
od |
76 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) override final; | 78 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes
tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct
ion) override final; |
77 virtual IntRect absoluteFocusRingBoundingBoxRect() const override final; | 79 virtual IntRect absoluteFocusRingBoundingBoxRect() const override final; |
78 | 80 |
79 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&) override
final; | 81 virtual void invalidateTreeIfNeeded(const PaintInvalidationState&) override
final; |
| 82 |
| 83 protected: |
| 84 FloatRect m_paintInvalidationBoundingBox; |
80 }; | 85 }; |
81 | 86 |
82 } | 87 } |
83 | 88 |
84 #endif | 89 #endif |
OLD | NEW |