From d4c07c90355815fe6ec2b5307b447e6399128e23 Mon Sep 17 00:00:00 2001 From: Robert Longson Date: Mon, 20 Feb 2012 19:34:04 +0000 Subject: [PATCH] Bug 728665 - SVGTests interface missing from foreignObject elements. r=jwatt --- dom/base/nsDOMClassInfo.cpp | 36 ++++++++++-------------- layout/reftests/svg/conditions-07.svg | 40 +++++++++++++++++++++++++++ layout/reftests/svg/reftest.list | 1 + 3 files changed, 56 insertions(+), 21 deletions(-) create mode 100644 layout/reftests/svg/conditions-07.svg diff --git a/dom/base/nsDOMClassInfo.cpp b/dom/base/nsDOMClassInfo.cpp index efe13341ef7..f749acc92da 100644 --- a/dom/base/nsDOMClassInfo.cpp +++ b/dom/base/nsDOMClassInfo.cpp @@ -3165,6 +3165,12 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_CONDITIONAL_ENTRY(nsITouchEventReceiver, \ nsDOMTouchEvent::PrefEnabled()) +#define DOM_CLASSINFO_SVG_TEXT_CONTENT_ELEMENT_MAP_ENTRIES \ + DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTextContentElement) \ + DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTests) \ + DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGStylable) \ + DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES + #define DOM_CLASSINFO_SVG_GRAPHIC_ELEMENT_MAP_ENTRIES \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGLocatable) \ DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTransformable) \ @@ -3197,12 +3203,8 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_BEGIN(SVGAltGlyphElement, nsIDOMSVGAltGlyphElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTextPositioningElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTextContentElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTests) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGURIReference) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGStylable) - DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES + DOM_CLASSINFO_SVG_TEXT_CONTENT_ELEMENT_MAP_ENTRIES DOM_CLASSINFO_MAP_END DOM_CLASSINFO_MAP_BEGIN(SVGAnimateElement, nsIDOMSVGAnimateElement) @@ -3443,6 +3445,12 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES DOM_CLASSINFO_MAP_END + DOM_CLASSINFO_MAP_BEGIN(SVGForeignObjectElement, nsIDOMSVGForeignObjectElement) + DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGForeignObjectElement) + DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTests) + DOM_CLASSINFO_SVG_GRAPHIC_ELEMENT_MAP_ENTRIES + DOM_CLASSINFO_MAP_END + DOM_CLASSINFO_MAP_BEGIN(SVGGElement, nsIDOMSVGGElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGGElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTests) @@ -3558,7 +3566,6 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_END DOM_CLASSINFO_MAP_BEGIN(SVGSVGElement, nsIDOMSVGSVGElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGSVGElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGFitToViewBox) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGLocatable) @@ -3591,12 +3598,8 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_END DOM_CLASSINFO_MAP_BEGIN(SVGTextPathElement, nsIDOMSVGTextPathElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTextContentElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTests) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGURIReference) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGStylable) - DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES + DOM_CLASSINFO_SVG_TEXT_CONTENT_ELEMENT_MAP_ENTRIES DOM_CLASSINFO_MAP_END DOM_CLASSINFO_MAP_BEGIN(SVGTitleElement, nsIDOMSVGTitleElement) @@ -3607,11 +3610,7 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_BEGIN(SVGTSpanElement, nsIDOMSVGTSpanElement) DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTextPositioningElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTextContentElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGTests) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGStylable) - DOM_CLASSINFO_SVG_ELEMENT_MAP_ENTRIES + DOM_CLASSINFO_SVG_TEXT_CONTENT_ELEMENT_MAP_ENTRIES DOM_CLASSINFO_MAP_END DOM_CLASSINFO_MAP_BEGIN_NO_CLASS_IF(SVGUnknownElement, nsIDOMSVGElement) @@ -3942,11 +3941,6 @@ nsDOMClassInfo::Init() DOM_CLASSINFO_MAP_ENTRY(nsIDOMEventTarget) DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(SVGForeignObjectElement, nsIDOMSVGForeignObjectElement) - DOM_CLASSINFO_MAP_ENTRY(nsIDOMSVGForeignObjectElement) - DOM_CLASSINFO_SVG_GRAPHIC_ELEMENT_MAP_ENTRIES - DOM_CLASSINFO_MAP_END - DOM_CLASSINFO_MAP_BEGIN(XULCommandEvent, nsIDOMXULCommandEvent) DOM_CLASSINFO_MAP_ENTRY(nsIDOMXULCommandEvent) DOM_CLASSINFO_UI_EVENT_MAP_ENTRIES diff --git a/layout/reftests/svg/conditions-07.svg b/layout/reftests/svg/conditions-07.svg new file mode 100644 index 00000000000..f9a21c0ca19 --- /dev/null +++ b/layout/reftests/svg/conditions-07.svg @@ -0,0 +1,40 @@ + + + Test conditional processing DOM interface for foreignObject + + + + + + + + + + + + + + + + diff --git a/layout/reftests/svg/reftest.list b/layout/reftests/svg/reftest.list index 6b22000765b..05b19d81129 100644 --- a/layout/reftests/svg/reftest.list +++ b/layout/reftests/svg/reftest.list @@ -42,6 +42,7 @@ include svg-integration/reftest.list == conditions-04.svg pass.svg == conditions-05.svg about:blank == conditions-06.svg pass.svg +== conditions-07.svg pass.svg == currentColor-01.svg pass.svg == currentColor-02.svg pass.svg == currentColor-03.svg pass.svg