| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2007, 2009 Apple Inc. All rights reserved. |
| 5 * Copyright (C) 2010, 2012 Google Inc. All rights reserved. | 5 * Copyright (C) 2010, 2012 Google Inc. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 */ | 21 */ |
| 22 | 22 |
| 23 #ifndef RenderLayerModelObject_h | 23 #ifndef RenderLayerModelObject_h |
| 24 #define RenderLayerModelObject_h | 24 #define RenderLayerModelObject_h |
| 25 | 25 |
| 26 #include "core/rendering/RenderObject.h" | 26 #include "core/rendering/RenderObject.h" |
| 27 | 27 |
| 28 namespace WebCore { | 28 namespace WebCore { |
| 29 | 29 |
| 30 class RenderLayer; | 30 class RenderLayer; |
| 31 class RenderLayerBacking; |
| 31 class ScrollableArea; | 32 class ScrollableArea; |
| 32 | 33 |
| 33 class RenderLayerModelObject : public RenderObject { | 34 class RenderLayerModelObject : public RenderObject { |
| 34 public: | 35 public: |
| 35 explicit RenderLayerModelObject(ContainerNode*); | 36 explicit RenderLayerModelObject(ContainerNode*); |
| 36 virtual ~RenderLayerModelObject(); | 37 virtual ~RenderLayerModelObject(); |
| 37 | 38 |
| 38 // Called by RenderObject::willBeDestroyed() and is the only way layers shou
ld ever be destroyed | 39 // Called by RenderObject::willBeDestroyed() and is the only way layers shou
ld ever be destroyed |
| 39 void destroyLayer(); | 40 void destroyLayer(); |
| 40 | 41 |
| 41 bool hasSelfPaintingLayer() const; | 42 bool hasSelfPaintingLayer() const; |
| 42 RenderLayer* layer() const { return m_layer; } | 43 RenderLayer* layer() const { return m_layer; } |
| 43 ScrollableArea* scrollableArea() const; | 44 ScrollableArea* scrollableArea() const; |
| 44 | 45 |
| 45 virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) O
VERRIDE; | 46 virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle) O
VERRIDE; |
| 46 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV
ERRIDE; | 47 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OV
ERRIDE; |
| 47 virtual void updateFromStyle() { } | 48 virtual void updateFromStyle() { } |
| 48 | 49 |
| 49 virtual bool requiresLayer() const = 0; | 50 virtual bool requiresLayer() const = 0; |
| 50 | 51 |
| 51 // Returns true if the background is painted opaque in the given rect. | 52 // Returns true if the background is painted opaque in the given rect. |
| 52 // The query rect is given in local coordinate system. | 53 // The query rect is given in local coordinate system. |
| 53 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const { re
turn false; } | 54 virtual bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const { re
turn false; } |
| 54 | 55 |
| 55 // This is null for anonymous renderers. | 56 // This is null for anonymous renderers. |
| 56 ContainerNode* node() const { return toContainerNode(RenderObject::node());
} | 57 ContainerNode* node() const { return toContainerNode(RenderObject::node());
} |
| 57 | 58 |
| 59 RenderLayerBacking* backing() const; |
| 60 |
| 58 protected: | 61 protected: |
| 59 void ensureLayer(); | 62 void ensureLayer(); |
| 60 | 63 |
| 61 virtual void willBeDestroyed() OVERRIDE; | 64 virtual void willBeDestroyed() OVERRIDE; |
| 62 | 65 |
| 63 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer*, co
nst LayoutPoint&, const LayoutRect&) const OVERRIDE; | 66 virtual void addLayerHitTestRects(LayerHitTestRects&, const RenderLayer*, co
nst LayoutPoint&, const LayoutRect&) const OVERRIDE; |
| 64 | 67 |
| 65 private: | 68 private: |
| 66 virtual bool isLayerModelObject() const OVERRIDE FINAL { return true; } | 69 virtual bool isLayerModelObject() const OVERRIDE FINAL { return true; } |
| 67 | 70 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 85 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isLayerModelObject()); | 88 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isLayerModelObject()); |
| 86 return static_cast<const RenderLayerModelObject*>(object); | 89 return static_cast<const RenderLayerModelObject*>(object); |
| 87 } | 90 } |
| 88 | 91 |
| 89 // This will catch anyone doing an unnecessary cast. | 92 // This will catch anyone doing an unnecessary cast. |
| 90 void toRenderLayerModelObject(const RenderLayerModelObject*); | 93 void toRenderLayerModelObject(const RenderLayerModelObject*); |
| 91 | 94 |
| 92 } // namespace WebCore | 95 } // namespace WebCore |
| 93 | 96 |
| 94 #endif // RenderLayerModelObject_h | 97 #endif // RenderLayerModelObject_h |
| OLD | NEW |