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

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

Issue 368903002: Remove transform-origin logic in SVGElement (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 5 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 | « no previous file | no next file » | 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, 2007, 2008 Nikolas Zimmermann <zimmermann@kde .org> 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Nikolas Zimmermann <zimmermann@kde .org>
3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org> 3 * Copyright (C) 2004, 2005, 2006, 2008 Rob Buis <buis@kde.org>
4 * Copyright (C) 2008 Apple Inc. All rights reserved. 4 * Copyright (C) 2008 Apple Inc. All rights reserved.
5 * Copyright (C) 2008 Alp Toker <alp@atoker.com> 5 * Copyright (C) 2008 Alp Toker <alp@atoker.com>
6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> 6 * Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au>
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 #include "core/svg/SVGTitleElement.h" 48 #include "core/svg/SVGTitleElement.h"
49 #include "core/svg/SVGUseElement.h" 49 #include "core/svg/SVGUseElement.h"
50 50
51 #include "wtf/TemporaryChange.h" 51 #include "wtf/TemporaryChange.h"
52 52
53 namespace WebCore { 53 namespace WebCore {
54 54
55 using namespace HTMLNames; 55 using namespace HTMLNames;
56 using namespace SVGNames; 56 using namespace SVGNames;
57 57
58 void mapAttributeToCSSProperty(HashMap<StringImpl*, CSSPropertyID>* propertyName ToIdMap, const QualifiedName& attrName)
59 {
60 // FIXME: when CSS supports "transform-origin" the special case for transfor m_originAttr can be removed.
61 // FIXME: It's not clear the above is strictly true, as -webkit-transform-or igin has non-standard behavior.
62 CSSPropertyID propertyId = cssPropertyID(attrName.localName());
63 if (!propertyId && attrName == transform_originAttr) {
64 propertyId = CSSPropertyWebkitTransformOrigin; // cssPropertyID("-webkit -transform-origin")
65 } else if (propertyId == CSSPropertyTransformOrigin) {
66 propertyId = CSSPropertyWebkitTransformOrigin;
67 }
68 ASSERT(propertyId > 0);
69 propertyNameToIdMap->set(attrName.localName().impl(), propertyId);
70 }
71
72 SVGElement::SVGElement(const QualifiedName& tagName, Document& document, Constru ctionType constructionType) 58 SVGElement::SVGElement(const QualifiedName& tagName, Document& document, Constru ctionType constructionType)
73 : Element(tagName, &document, constructionType) 59 : Element(tagName, &document, constructionType)
74 #if ASSERT_ENABLED 60 #if ASSERT_ENABLED
75 , m_inRelativeLengthClientsInvalidation(false) 61 , m_inRelativeLengthClientsInvalidation(false)
76 #endif 62 #endif
77 // |m_isContextElement| must be initialized before |m_className|, as SVGAnim atedString tear-off c-tor currently set this to true. 63 // |m_isContextElement| must be initialized before |m_className|, as SVGAnim atedString tear-off c-tor currently set this to true.
78 , m_isContextElement(false) 64 , m_isContextElement(false)
79 , m_SVGRareData(nullptr) 65 , m_SVGRareData(nullptr)
80 , m_className(SVGAnimatedString::create(this, HTMLNames::classAttr, SVGStrin g::create())) 66 , m_className(SVGAnimatedString::create(this, HTMLNames::classAttr, SVGStrin g::create()))
81 { 67 {
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 312
327 void SVGElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta) 313 void SVGElement::childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta)
328 { 314 {
329 Element::childrenChanged(changedByParser, beforeChange, afterChange, childCo untDelta); 315 Element::childrenChanged(changedByParser, beforeChange, afterChange, childCo untDelta);
330 316
331 // Invalidate all instances associated with us. 317 // Invalidate all instances associated with us.
332 if (!changedByParser) 318 if (!changedByParser)
333 invalidateInstances(); 319 invalidateInstances();
334 } 320 }
335 321
322 void mapAttributeToCSSProperty(HashMap<StringImpl*, CSSPropertyID>* propertyName ToIdMap, const QualifiedName& attrName)
323 {
324 CSSPropertyID propertyId = cssPropertyID(attrName.localName());
325 ASSERT(propertyId > 0);
326 propertyNameToIdMap->set(attrName.localName().impl(), propertyId);
327 }
328
336 CSSPropertyID SVGElement::cssPropertyIdForSVGAttributeName(const QualifiedName& attrName) 329 CSSPropertyID SVGElement::cssPropertyIdForSVGAttributeName(const QualifiedName& attrName)
337 { 330 {
338 if (!attrName.namespaceURI().isNull()) 331 if (!attrName.namespaceURI().isNull())
339 return CSSPropertyInvalid; 332 return CSSPropertyInvalid;
340 333
341 static HashMap<StringImpl*, CSSPropertyID>* propertyNameToIdMap = 0; 334 static HashMap<StringImpl*, CSSPropertyID>* propertyNameToIdMap = 0;
342 if (!propertyNameToIdMap) { 335 if (!propertyNameToIdMap) {
343 propertyNameToIdMap = new HashMap<StringImpl*, CSSPropertyID>; 336 propertyNameToIdMap = new HashMap<StringImpl*, CSSPropertyID>;
344 // This is a list of all base CSS and SVG CSS properties which are expos ed as SVG XML attributes 337 // This is a list of all base CSS and SVG CSS properties which are expos ed as SVG XML attributes
345 mapAttributeToCSSProperty(propertyNameToIdMap, alignment_baselineAttr); 338 mapAttributeToCSSProperty(propertyNameToIdMap, alignment_baselineAttr);
(...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after
1218 Element::trace(visitor); 1211 Element::trace(visitor);
1219 } 1212 }
1220 1213
1221 const AtomicString& SVGElement::eventParameterName() 1214 const AtomicString& SVGElement::eventParameterName()
1222 { 1215 {
1223 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con structFromLiteral)); 1216 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con structFromLiteral));
1224 return evtString; 1217 return evtString;
1225 } 1218 }
1226 1219
1227 } 1220 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698