OLD | NEW |
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 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
633 | 633 |
634 RenderStyle* parentStyle = 0; | 634 RenderStyle* parentStyle = 0; |
635 if (Element* parent = parentOrShadowHostElement()) { | 635 if (Element* parent = parentOrShadowHostElement()) { |
636 if (RenderObject* renderer = parent->renderer()) | 636 if (RenderObject* renderer = parent->renderer()) |
637 parentStyle = renderer->style(); | 637 parentStyle = renderer->style(); |
638 } | 638 } |
639 | 639 |
640 return svgRareData()->overrideComputedStyle(this, parentStyle); | 640 return svgRareData()->overrideComputedStyle(this, parentStyle); |
641 } | 641 } |
642 | 642 |
| 643 bool SVGElement::hasFocusEventListeners() const |
| 644 { |
| 645 // FIXME: EventTarget::hasEventListeners should be const. |
| 646 SVGElement* mutableThis = const_cast<SVGElement*>(this); |
| 647 return mutableThis->hasEventListeners(eventNames().focusinEvent) || mutableT
his->hasEventListeners(eventNames().focusoutEvent); |
| 648 } |
| 649 |
| 650 bool SVGElement::isKeyboardFocusable(KeyboardEvent*) const |
| 651 { |
| 652 return isFocusable(); |
| 653 } |
| 654 |
643 #ifndef NDEBUG | 655 #ifndef NDEBUG |
644 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const | 656 bool SVGElement::isAnimatableAttribute(const QualifiedName& name) const |
645 { | 657 { |
646 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes, ()); | 658 DEFINE_STATIC_LOCAL(HashSet<QualifiedName>, animatableAttributes, ()); |
647 | 659 |
648 if (animatableAttributes.isEmpty()) { | 660 if (animatableAttributes.isEmpty()) { |
649 animatableAttributes.add(XLinkNames::hrefAttr); | 661 animatableAttributes.add(XLinkNames::hrefAttr); |
650 animatableAttributes.add(SVGNames::amplitudeAttr); | 662 animatableAttributes.add(SVGNames::amplitudeAttr); |
651 animatableAttributes.add(SVGNames::azimuthAttr); | 663 animatableAttributes.add(SVGNames::azimuthAttr); |
652 animatableAttributes.add(SVGNames::baseFrequencyAttr); | 664 animatableAttributes.add(SVGNames::baseFrequencyAttr); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 } | 754 } |
743 | 755 |
744 if (name == classAttr) | 756 if (name == classAttr) |
745 return isSVGStyledElement(); | 757 return isSVGStyledElement(); |
746 | 758 |
747 return animatableAttributes.contains(name); | 759 return animatableAttributes.contains(name); |
748 } | 760 } |
749 #endif | 761 #endif |
750 | 762 |
751 } | 763 } |
OLD | NEW |