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 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
435 SVGSVGElement* SVGElement::ownerSVGElement() const | 435 SVGSVGElement* SVGElement::ownerSVGElement() const |
436 { | 436 { |
437 ContainerNode* n = parentOrShadowHostNode(); | 437 ContainerNode* n = parentOrShadowHostNode(); |
438 while (n) { | 438 while (n) { |
439 if (isSVGSVGElement(*n)) | 439 if (isSVGSVGElement(*n)) |
440 return toSVGSVGElement(n); | 440 return toSVGSVGElement(n); |
441 | 441 |
442 n = n->parentOrShadowHostNode(); | 442 n = n->parentOrShadowHostNode(); |
443 } | 443 } |
444 | 444 |
445 return 0; | 445 return nullptr; |
446 } | 446 } |
447 | 447 |
448 SVGElement* SVGElement::viewportElement() const | 448 SVGElement* SVGElement::viewportElement() const |
449 { | 449 { |
450 // This function needs shadow tree support - as LayoutSVGContainer uses this
function | 450 // This function needs shadow tree support - as LayoutSVGContainer uses this
function |
451 // to determine the "overflow" property. <use> on <symbol> wouldn't work oth
erwhise. | 451 // to determine the "overflow" property. <use> on <symbol> wouldn't work oth
erwhise. |
452 ContainerNode* n = parentOrShadowHostNode(); | 452 ContainerNode* n = parentOrShadowHostNode(); |
453 while (n) { | 453 while (n) { |
454 if (isSVGSVGElement(*n) || isSVGImageElement(*n) || isSVGSymbolElement(*
n)) | 454 if (isSVGSVGElement(*n) || isSVGImageElement(*n) || isSVGSymbolElement(*
n)) |
455 return toSVGElement(n); | 455 return toSVGElement(n); |
456 | 456 |
457 n = n->parentOrShadowHostNode(); | 457 n = n->parentOrShadowHostNode(); |
458 } | 458 } |
459 | 459 |
460 return 0; | 460 return nullptr; |
461 } | 461 } |
462 | 462 |
463 SVGDocumentExtensions& SVGElement::accessDocumentSVGExtensions() | 463 SVGDocumentExtensions& SVGElement::accessDocumentSVGExtensions() |
464 { | 464 { |
465 // This function is provided for use by SVGAnimatedProperty to avoid | 465 // This function is provided for use by SVGAnimatedProperty to avoid |
466 // global inclusion of core/dom/Document.h in SVG code. | 466 // global inclusion of core/dom/Document.h in SVG code. |
467 return document().accessSVGExtensions(); | 467 return document().accessSVGExtensions(); |
468 } | 468 } |
469 | 469 |
470 void SVGElement::mapInstanceToElement(SVGElement* instance) | 470 void SVGElement::mapInstanceToElement(SVGElement* instance) |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
556 ASSERT(!hasSVGRareData() || !svgRareData()->correspondingElement() || contai
ningShadowRoot()); | 556 ASSERT(!hasSVGRareData() || !svgRareData()->correspondingElement() || contai
ningShadowRoot()); |
557 return hasSVGRareData() ? svgRareData()->correspondingElement() : 0; | 557 return hasSVGRareData() ? svgRareData()->correspondingElement() : 0; |
558 } | 558 } |
559 | 559 |
560 SVGUseElement* SVGElement::correspondingUseElement() const | 560 SVGUseElement* SVGElement::correspondingUseElement() const |
561 { | 561 { |
562 if (ShadowRoot* root = containingShadowRoot()) { | 562 if (ShadowRoot* root = containingShadowRoot()) { |
563 if (isSVGUseElement(root->host()) && (root->type() == ShadowRoot::UserAg
entShadowRoot)) | 563 if (isSVGUseElement(root->host()) && (root->type() == ShadowRoot::UserAg
entShadowRoot)) |
564 return toSVGUseElement(root->host()); | 564 return toSVGUseElement(root->host()); |
565 } | 565 } |
566 return 0; | 566 return nullptr; |
567 } | 567 } |
568 | 568 |
569 void SVGElement::setCorrespondingElement(SVGElement* correspondingElement) | 569 void SVGElement::setCorrespondingElement(SVGElement* correspondingElement) |
570 { | 570 { |
571 ensureSVGRareData()->setCorrespondingElement(correspondingElement); | 571 ensureSVGRareData()->setCorrespondingElement(correspondingElement); |
572 } | 572 } |
573 | 573 |
574 bool SVGElement::inUseShadowTree() const | 574 bool SVGElement::inUseShadowTree() const |
575 { | 575 { |
576 return correspondingUseElement(); | 576 return correspondingUseElement(); |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
836 } | 836 } |
837 | 837 |
838 void SVGElement::svgLoadEventTimerFired(Timer<SVGElement>*) | 838 void SVGElement::svgLoadEventTimerFired(Timer<SVGElement>*) |
839 { | 839 { |
840 sendSVGLoadEventIfPossible(); | 840 sendSVGLoadEventIfPossible(); |
841 } | 841 } |
842 | 842 |
843 Timer<SVGElement>* SVGElement::svgLoadEventTimer() | 843 Timer<SVGElement>* SVGElement::svgLoadEventTimer() |
844 { | 844 { |
845 ASSERT_NOT_REACHED(); | 845 ASSERT_NOT_REACHED(); |
846 return 0; | 846 return nullptr; |
847 } | 847 } |
848 | 848 |
849 void SVGElement::attributeChanged(const QualifiedName& name, const AtomicString&
newValue, AttributeModificationReason) | 849 void SVGElement::attributeChanged(const QualifiedName& name, const AtomicString&
newValue, AttributeModificationReason) |
850 { | 850 { |
851 Element::attributeChanged(name, newValue); | 851 Element::attributeChanged(name, newValue); |
852 | 852 |
853 if (isIdAttributeName(name)) | 853 if (isIdAttributeName(name)) |
854 rebuildAllIncomingReferences(); | 854 rebuildAllIncomingReferences(); |
855 | 855 |
856 // Changes to the style attribute are processed lazily (see Element::getAttr
ibute() and related methods), | 856 // Changes to the style attribute are processed lazily (see Element::getAttr
ibute() and related methods), |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
917 style = layoutObject->style(); | 917 style = layoutObject->style(); |
918 } | 918 } |
919 | 919 |
920 return document().ensureStyleResolver().styleForElement(correspondingElement
(), style, DisallowStyleSharing); | 920 return document().ensureStyleResolver().styleForElement(correspondingElement
(), style, DisallowStyleSharing); |
921 } | 921 } |
922 | 922 |
923 MutableStylePropertySet* SVGElement::animatedSMILStyleProperties() const | 923 MutableStylePropertySet* SVGElement::animatedSMILStyleProperties() const |
924 { | 924 { |
925 if (hasSVGRareData()) | 925 if (hasSVGRareData()) |
926 return svgRareData()->animatedSMILStyleProperties(); | 926 return svgRareData()->animatedSMILStyleProperties(); |
927 return 0; | 927 return nullptr; |
928 } | 928 } |
929 | 929 |
930 MutableStylePropertySet* SVGElement::ensureAnimatedSMILStyleProperties() | 930 MutableStylePropertySet* SVGElement::ensureAnimatedSMILStyleProperties() |
931 { | 931 { |
932 return ensureSVGRareData()->ensureAnimatedSMILStyleProperties(); | 932 return ensureSVGRareData()->ensureAnimatedSMILStyleProperties(); |
933 } | 933 } |
934 | 934 |
935 void SVGElement::setUseOverrideComputedStyle(bool value) | 935 void SVGElement::setUseOverrideComputedStyle(bool value) |
936 { | 936 { |
937 if (hasSVGRareData()) | 937 if (hasSVGRareData()) |
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1109 if (name == classAttr) | 1109 if (name == classAttr) |
1110 return true; | 1110 return true; |
1111 | 1111 |
1112 return animatableAttributes.contains(name); | 1112 return animatableAttributes.contains(name); |
1113 } | 1113 } |
1114 #endif | 1114 #endif |
1115 | 1115 |
1116 SVGElementSet* SVGElement::setOfIncomingReferences() const | 1116 SVGElementSet* SVGElement::setOfIncomingReferences() const |
1117 { | 1117 { |
1118 if (!hasSVGRareData()) | 1118 if (!hasSVGRareData()) |
1119 return 0; | 1119 return nullptr; |
1120 return &svgRareData()->incomingReferences(); | 1120 return &svgRareData()->incomingReferences(); |
1121 } | 1121 } |
1122 | 1122 |
1123 void SVGElement::addReferenceTo(SVGElement* targetElement) | 1123 void SVGElement::addReferenceTo(SVGElement* targetElement) |
1124 { | 1124 { |
1125 ASSERT(targetElement); | 1125 ASSERT(targetElement); |
1126 | 1126 |
1127 ensureSVGRareData()->outgoingReferences().add(targetElement); | 1127 ensureSVGRareData()->outgoingReferences().add(targetElement); |
1128 targetElement->ensureSVGRareData()->incomingReferences().add(this); | 1128 targetElement->ensureSVGRareData()->incomingReferences().add(this); |
1129 } | 1129 } |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1184 Element::trace(visitor); | 1184 Element::trace(visitor); |
1185 } | 1185 } |
1186 | 1186 |
1187 const AtomicString& SVGElement::eventParameterName() | 1187 const AtomicString& SVGElement::eventParameterName() |
1188 { | 1188 { |
1189 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); | 1189 DEFINE_STATIC_LOCAL(const AtomicString, evtString, ("evt", AtomicString::Con
structFromLiteral)); |
1190 return evtString; | 1190 return evtString; |
1191 } | 1191 } |
1192 | 1192 |
1193 } // namespace blink | 1193 } // namespace blink |
OLD | NEW |