Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: third_party/WebKit/Source/core/layout/svg/LayoutSVGRoot.h

Issue 2559123003: Strength-reduce the "scale-factor changed" condition in LayoutSVGRoot (Closed)
Patch Set: Update expectations Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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 enum class SVGTransformChange;
31 32
32 class CORE_EXPORT LayoutSVGRoot final : public LayoutReplaced { 33 class CORE_EXPORT 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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 const LayoutObject* pushMappingToContainer( 150 const LayoutObject* pushMappingToContainer(
150 const LayoutBoxModelObject* ancestorToStopAt, 151 const LayoutBoxModelObject* ancestorToStopAt,
151 LayoutGeometryMap&) const override; 152 LayoutGeometryMap&) const override;
152 153
153 bool canBeSelectionLeaf() const override { return false; } 154 bool canBeSelectionLeaf() const override { return false; }
154 bool canHaveChildren() const override { return true; } 155 bool canHaveChildren() const override { return true; }
155 156
156 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; 157 void descendantIsolationRequirementsChanged(DescendantIsolationState) final;
157 158
158 void updateCachedBoundaries(); 159 void updateCachedBoundaries();
159 void buildLocalToBorderBoxTransform(); 160 SVGTransformChange buildLocalToBorderBoxTransform();
160 161
161 PositionWithAffinity positionForPoint(const LayoutPoint&) final; 162 PositionWithAffinity positionForPoint(const LayoutPoint&) final;
162 163
163 LayoutObjectChildList m_children; 164 LayoutObjectChildList m_children;
164 IntSize m_containerSize; 165 IntSize m_containerSize;
165 FloatRect m_objectBoundingBox; 166 FloatRect m_objectBoundingBox;
166 bool m_objectBoundingBoxValid; 167 bool m_objectBoundingBoxValid;
167 FloatRect m_strokeBoundingBox; 168 FloatRect m_strokeBoundingBox;
168 FloatRect m_visualRectInLocalSVGCoordinates; 169 FloatRect m_visualRectInLocalSVGCoordinates;
169 AffineTransform m_localToBorderBoxTransform; 170 AffineTransform m_localToBorderBoxTransform;
170 bool m_isLayoutSizeChanged : 1; 171 bool m_isLayoutSizeChanged : 1;
171 bool m_didScreenScaleFactorChange : 1; 172 bool m_didScreenScaleFactorChange : 1;
172 bool m_needsBoundariesOrTransformUpdate : 1; 173 bool m_needsBoundariesOrTransformUpdate : 1;
173 bool m_hasBoxDecorationBackground : 1; 174 bool m_hasBoxDecorationBackground : 1;
174 mutable bool m_hasNonIsolatedBlendingDescendants : 1; 175 mutable bool m_hasNonIsolatedBlendingDescendants : 1;
175 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; 176 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1;
176 }; 177 };
177 178
178 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); 179 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot());
179 180
180 } // namespace blink 181 } // namespace blink
181 182
182 #endif // LayoutSVGRoot_h 183 #endif // LayoutSVGRoot_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698