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

Side by Side Diff: Source/core/svg/SVGElement.h

Issue 166163005: [SVG2] Add tabindex handling in svg. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebase Created 6 years, 7 months 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
« no previous file with comments | « Source/core/svg/SVGDefsElement.h ('k') | Source/core/svg/SVGElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 Apple Inc. All rights reserved. 4 * Copyright (C) 2009 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 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 class SVGElementRareData; 44 class SVGElementRareData;
45 class SVGFitToViewBox; 45 class SVGFitToViewBox;
46 class SVGSVGElement; 46 class SVGSVGElement;
47 47
48 void mapAttributeToCSSProperty(HashMap<StringImpl*, CSSPropertyID>* propertyName ToIdMap, const QualifiedName& attrName); 48 void mapAttributeToCSSProperty(HashMap<StringImpl*, CSSPropertyID>* propertyName ToIdMap, const QualifiedName& attrName);
49 49
50 class SVGElement : public Element { 50 class SVGElement : public Element {
51 public: 51 public:
52 virtual ~SVGElement(); 52 virtual ~SVGElement();
53 53
54 virtual short tabIndex() const OVERRIDE;
55 virtual bool supportsFocus() const OVERRIDE { return false; }
56
54 bool isOutermostSVGSVGElement() const; 57 bool isOutermostSVGSVGElement() const;
55 58
56 virtual String title() const OVERRIDE; 59 virtual String title() const OVERRIDE;
57 bool hasRelativeLengths() const { return !m_elementsWithRelativeLengths.isEm pty(); } 60 bool hasRelativeLengths() const { return !m_elementsWithRelativeLengths.isEm pty(); }
58 static bool isAnimatableCSSProperty(const QualifiedName&); 61 static bool isAnimatableCSSProperty(const QualifiedName&);
59 enum CTMScope { 62 enum CTMScope {
60 NearestViewportScope, // Used by SVGGraphicsElement::getCTM() 63 NearestViewportScope, // Used by SVGGraphicsElement::getCTM()
61 ScreenScope, // Used by SVGGraphicsElement::getScreenCTM() 64 ScreenScope, // Used by SVGGraphicsElement::getScreenCTM()
62 AncestorScope // Used by SVGSVGElement::get{Enclosure|Intersection}List( ) 65 AncestorScope // Used by SVGSVGElement::get{Enclosure|Intersection}List( )
63 }; 66 };
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 private: 191 private:
189 friend class SVGElementInstance; 192 friend class SVGElementInstance;
190 193
191 // FIXME: Author shadows should be allowed 194 // FIXME: Author shadows should be allowed
192 // https://bugs.webkit.org/show_bug.cgi?id=77938 195 // https://bugs.webkit.org/show_bug.cgi?id=77938
193 virtual bool areAuthorShadowsAllowed() const OVERRIDE FINAL { return false; } 196 virtual bool areAuthorShadowsAllowed() const OVERRIDE FINAL { return false; }
194 197
195 RenderStyle* computedStyle(PseudoId = NOPSEUDO); 198 RenderStyle* computedStyle(PseudoId = NOPSEUDO);
196 virtual RenderStyle* virtualComputedStyle(PseudoId pseudoElementSpecifier = NOPSEUDO) OVERRIDE FINAL { return computedStyle(pseudoElementSpecifier); } 199 virtual RenderStyle* virtualComputedStyle(PseudoId pseudoElementSpecifier = NOPSEUDO) OVERRIDE FINAL { return computedStyle(pseudoElementSpecifier); }
197 virtual void willRecalcStyle(StyleRecalcChange) OVERRIDE; 200 virtual void willRecalcStyle(StyleRecalcChange) OVERRIDE;
198 virtual bool isKeyboardFocusable() const OVERRIDE;
199 201
200 void buildPendingResourcesIfNeeded(); 202 void buildPendingResourcesIfNeeded();
201 203
202 void mapInstanceToElement(SVGElementInstance*); 204 void mapInstanceToElement(SVGElementInstance*);
203 void removeInstanceMapping(SVGElementInstance*); 205 void removeInstanceMapping(SVGElementInstance*);
204 206
207 bool supportsSpatialNavigationFocus() const;
208
205 HashSet<SVGElement*> m_elementsWithRelativeLengths; 209 HashSet<SVGElement*> m_elementsWithRelativeLengths;
206 210
207 typedef HashMap<QualifiedName, RefPtr<SVGAnimatedPropertyBase> > AttributeTo PropertyMap; 211 typedef HashMap<QualifiedName, RefPtr<SVGAnimatedPropertyBase> > AttributeTo PropertyMap;
208 AttributeToPropertyMap m_newAttributeToPropertyMap; 212 AttributeToPropertyMap m_newAttributeToPropertyMap;
209 213
210 #if !ASSERT_DISABLED 214 #if !ASSERT_DISABLED
211 bool m_inRelativeLengthClientsInvalidation; 215 bool m_inRelativeLengthClientsInvalidation;
212 #endif 216 #endif
213 unsigned m_isContextElement : 1; 217 unsigned m_isContextElement : 1;
214 unsigned m_hasSVGRareData : 1; 218 unsigned m_hasSVGRareData : 1;
(...skipping 13 matching lines...) Expand all
228 static bool equal(const QualifiedName& a, const QualifiedName& b) { return a .matches(b); } 232 static bool equal(const QualifiedName& a, const QualifiedName& b) { return a .matches(b); }
229 }; 233 };
230 234
231 DEFINE_ELEMENT_TYPE_CASTS(SVGElement, isSVGElement()); 235 DEFINE_ELEMENT_TYPE_CASTS(SVGElement, isSVGElement());
232 236
233 template <> inline bool isElementOfType<const SVGElement>(const Node& node) { re turn node.isSVGElement(); } 237 template <> inline bool isElementOfType<const SVGElement>(const Node& node) { re turn node.isSVGElement(); }
234 238
235 } 239 }
236 240
237 #endif 241 #endif
OLDNEW
« no previous file with comments | « Source/core/svg/SVGDefsElement.h ('k') | Source/core/svg/SVGElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698