Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
| 3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> |
| 4 * Copyright (C) 2009 Google, Inc. All rights reserved. | 4 * Copyright (C) 2009 Google, Inc. All rights reserved. |
| 5 * Copyright (C) 2009 Apple Inc. All rights reserved. | 5 * Copyright (C) 2009 Apple 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 LayoutSVGRoot_h | 23 #ifndef LayoutSVGRoot_h |
| 24 #define LayoutSVGRoot_h | 24 #define LayoutSVGRoot_h |
| 25 | 25 |
| 26 #include "core/layout/LayoutReplaced.h" | 26 #include "core/layout/LayoutReplaced.h" |
| 27 | 27 |
| 28 namespace blink { | 28 namespace blink { |
| 29 | 29 |
| 30 class SVGElement; | 30 class SVGElement; |
| 31 class SVGSVGElement; | |
| 31 | 32 |
| 32 class LayoutSVGRoot final : public LayoutReplaced { | 33 class LayoutSVGRoot final : public LayoutReplaced { |
| 33 public: | 34 public: |
| 34 explicit LayoutSVGRoot(SVGElement*); | 35 explicit LayoutSVGRoot(SVGElement*); |
| 35 ~LayoutSVGRoot() override; | 36 ~LayoutSVGRoot() override; |
| 36 | 37 |
| 37 bool isEmbeddedThroughSVGImage() const; | 38 bool isEmbeddedThroughSVGImage() const; |
| 38 bool isEmbeddedThroughFrameContainingSVGDocument() const; | 39 bool isEmbeddedThroughFrameContainingSVGDocument() const; |
| 39 | 40 |
| 40 void computeIntrinsicSizingInfo(IntrinsicSizingInfo&) const override; | 41 void computeIntrinsicSizingInfo(IntrinsicSizingInfo&) const override; |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 107 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const override; | 108 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const override; |
| 108 | 109 |
| 109 bool canBeSelectionLeaf() const override { return false; } | 110 bool canBeSelectionLeaf() const override { return false; } |
| 110 bool canHaveChildren() const override { return true; } | 111 bool canHaveChildren() const override { return true; } |
| 111 | 112 |
| 112 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; | 113 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; |
| 113 | 114 |
| 114 void updateCachedBoundaries(); | 115 void updateCachedBoundaries(); |
| 115 void buildLocalToBorderBoxTransform(); | 116 void buildLocalToBorderBoxTransform(); |
| 116 | 117 |
| 117 FloatSize calculateIntrinsicSize() const; | 118 static FloatSize calculateIntrinsicSize(SVGSVGElement*); |
|
fs
2016/02/09 18:37:54
Nit: Could this be local to LayoutSVGRoot.cpp even
davve
2016/02/11 08:52:37
Done.
| |
| 118 | 119 |
| 119 LayoutObjectChildList m_children; | 120 LayoutObjectChildList m_children; |
| 120 IntSize m_containerSize; | 121 IntSize m_containerSize; |
| 121 FloatRect m_objectBoundingBox; | 122 FloatRect m_objectBoundingBox; |
| 122 bool m_objectBoundingBoxValid; | 123 bool m_objectBoundingBoxValid; |
| 123 FloatRect m_strokeBoundingBox; | 124 FloatRect m_strokeBoundingBox; |
| 124 FloatRect m_paintInvalidationBoundingBox; | 125 FloatRect m_paintInvalidationBoundingBox; |
| 125 mutable AffineTransform m_localToParentTransform; | 126 mutable AffineTransform m_localToParentTransform; |
| 126 AffineTransform m_localToBorderBoxTransform; | 127 AffineTransform m_localToBorderBoxTransform; |
| 127 bool m_isLayoutSizeChanged : 1; | 128 bool m_isLayoutSizeChanged : 1; |
| 128 bool m_needsBoundariesOrTransformUpdate : 1; | 129 bool m_needsBoundariesOrTransformUpdate : 1; |
| 129 bool m_hasBoxDecorationBackground : 1; | 130 bool m_hasBoxDecorationBackground : 1; |
| 130 mutable bool m_hasNonIsolatedBlendingDescendants : 1; | 131 mutable bool m_hasNonIsolatedBlendingDescendants : 1; |
| 131 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; | 132 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; |
| 132 }; | 133 }; |
| 133 | 134 |
| 134 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); | 135 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); |
| 135 | 136 |
| 136 } // namespace blink | 137 } // namespace blink |
| 137 | 138 |
| 138 #endif // LayoutSVGRoot_h | 139 #endif // LayoutSVGRoot_h |
| OLD | NEW |