OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2006, 2008 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2006 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2009, 2014 Apple Inc. All rights reserved. | 4 * Copyright (C) 2009, 2014 Apple Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 }; | 80 }; |
81 bool HasTransform(ApplyMotionTransform) const; | 81 bool HasTransform(ApplyMotionTransform) const; |
82 AffineTransform CalculateTransform(ApplyMotionTransform) const; | 82 AffineTransform CalculateTransform(ApplyMotionTransform) const; |
83 | 83 |
84 enum CTMScope { | 84 enum CTMScope { |
85 kNearestViewportScope, // Used by SVGGraphicsElement::getCTM() | 85 kNearestViewportScope, // Used by SVGGraphicsElement::getCTM() |
86 kScreenScope, // Used by SVGGraphicsElement::getScreenCTM() | 86 kScreenScope, // Used by SVGGraphicsElement::getScreenCTM() |
87 kAncestorScope // Used by SVGSVGElement::get{Enclosure|Intersection}List() | 87 kAncestorScope // Used by SVGSVGElement::get{Enclosure|Intersection}List() |
88 }; | 88 }; |
89 virtual AffineTransform LocalCoordinateSpaceTransform(CTMScope) const; | 89 virtual AffineTransform LocalCoordinateSpaceTransform(CTMScope) const; |
90 virtual bool NeedsPendingResourceHandling() const { return true; } | |
91 | 90 |
92 bool InstanceUpdatesBlocked() const; | 91 bool InstanceUpdatesBlocked() const; |
93 void SetInstanceUpdatesBlocked(bool); | 92 void SetInstanceUpdatesBlocked(bool); |
94 | 93 |
95 // Records the SVG element as having a Web Animation on an SVG attribute that | 94 // Records the SVG element as having a Web Animation on an SVG attribute that |
96 // needs applying. | 95 // needs applying. |
97 void SetWebAnimationsPending(); | 96 void SetWebAnimationsPending(); |
98 void ApplyActiveWebAnimations(); | 97 void ApplyActiveWebAnimations(); |
99 | 98 |
100 void EnsureAttributeAnimValUpdated(); | 99 void EnsureAttributeAnimValUpdated(); |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 bool IsStyledElement() const = | 263 bool IsStyledElement() const = |
265 delete; // This will catch anyone doing an unnecessary check. | 264 delete; // This will catch anyone doing an unnecessary check. |
266 | 265 |
267 const ComputedStyle* EnsureComputedStyle(PseudoId = kPseudoIdNone); | 266 const ComputedStyle* EnsureComputedStyle(PseudoId = kPseudoIdNone); |
268 const ComputedStyle* VirtualEnsureComputedStyle( | 267 const ComputedStyle* VirtualEnsureComputedStyle( |
269 PseudoId pseudo_element_specifier = kPseudoIdNone) final { | 268 PseudoId pseudo_element_specifier = kPseudoIdNone) final { |
270 return EnsureComputedStyle(pseudo_element_specifier); | 269 return EnsureComputedStyle(pseudo_element_specifier); |
271 } | 270 } |
272 void WillRecalcStyle(StyleRecalcChange) override; | 271 void WillRecalcStyle(StyleRecalcChange) override; |
273 | 272 |
274 void BuildPendingResourcesIfNeeded(); | |
275 | |
276 HeapHashSet<WeakMember<SVGElement>> elements_with_relative_lengths_; | 273 HeapHashSet<WeakMember<SVGElement>> elements_with_relative_lengths_; |
277 | 274 |
278 typedef HeapHashMap<QualifiedName, Member<SVGAnimatedPropertyBase>> | 275 typedef HeapHashMap<QualifiedName, Member<SVGAnimatedPropertyBase>> |
279 AttributeToPropertyMap; | 276 AttributeToPropertyMap; |
280 AttributeToPropertyMap attribute_to_property_map_; | 277 AttributeToPropertyMap attribute_to_property_map_; |
281 | 278 |
282 #if DCHECK_IS_ON() | 279 #if DCHECK_IS_ON() |
283 bool in_relative_length_clients_invalidation_ = false; | 280 bool in_relative_length_clients_invalidation_ = false; |
284 #endif | 281 #endif |
285 | 282 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
341 inline bool IsElementOfType<const thisType>(const SVGElement& element) { \ | 338 inline bool IsElementOfType<const thisType>(const SVGElement& element) { \ |
342 return Is##thisType(element); \ | 339 return Is##thisType(element); \ |
343 } \ | 340 } \ |
344 DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(thisType) | 341 DEFINE_ELEMENT_TYPE_CASTS_WITH_FUNCTION(thisType) |
345 | 342 |
346 } // namespace blink | 343 } // namespace blink |
347 | 344 |
348 #include "core/SVGElementTypeHelpers.h" | 345 #include "core/SVGElementTypeHelpers.h" |
349 | 346 |
350 #endif // SVGElement_h | 347 #endif // SVGElement_h |
OLD | NEW |