OSDN Git Service

Edit Object._create
authordhrname <dhrname@users.sourceforge.jp>
Wed, 22 Aug 2012 11:51:17 +0000 (20:51 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Wed, 22 Aug 2012 11:51:17 +0000 (20:51 +0900)
org/w3c/dom/svg.js

index 8fdef6c..04b5d47 100644 (file)
@@ -118,7 +118,7 @@ function SVGException(code) {
   }
   return this;
 };
-SVGException.prototype = new Error();
+SVGException.prototype = Object._create(Error);
 // SVGExceptionCode
 /*const unsigned short SVGException.SVG_WRONG_TYPE_ERR           = 0;
 /*const unsigned short SVGException.SVG_INVALID_VALUE_ERR        = 1;
@@ -301,7 +301,7 @@ function SVGElement() {
   }, false);
   return this;
 };
-SVGElement.prototype = new Element();
+SVGElement.prototype = Object._create(Element);
 
 (function(){
   /*以下の正規表現は属性のパーサの際に用いる*/
@@ -430,7 +430,7 @@ function SVGAnimatedString() {
 function SVGStringList() {
   return this;
 };
-SVGStringList.prototype = new Array();
+SVGStringList.prototype = Object._create(Array);
 (function(){
   /*readonly unsigned long*/ this.numberOfItems = 0;
   /*void*/   this.clear = function(){
@@ -698,7 +698,7 @@ function SVGColor() {
 /*unsigned short SVGColor.SVG_COLORTYPE_RGBCOLOR          = 1;
 /*unsigned short SVGColor.SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2;
 /*unsigned short SVGColor.SVG_COLORTYPE_CURRENTCOLOR      = 3;*/
-SVGColor.prototype = new CSSValue();  //ノードのプロトタイプチェーンを作って、継承
+SVGColor.prototype = Object._create(CSSValue);  //ノードのプロトタイプチェーンを作って、継承
 
 (function(){
   /*readonly unsigned short*/ this.colorType = /*SVGColor.SVG_COLORTYPE_UNKNOWN*/ 0;
@@ -1115,7 +1115,7 @@ function SVGCSSRule() {
   /*const unsigned short*/ this.COLOR_PROFILE_RULE = 7;
   return this;
 };
-SVGCSSRule.prototype = new CSSRule();  //ノードのプロトタイプチェーンを作って、継承
+SVGCSSRule.prototype = Object._create(CSSRule);  //ノードのプロトタイプチェーンを作って、継承
 
 /*SVGDocument
  *SVGの文書オブジェクト
@@ -1130,7 +1130,7 @@ function SVGDocument(){
   /*readonly SVGSVGElement*/ this.rootElement;
   return this;
 };
-SVGDocument.prototype = new Document();  //ノードのプロトタイプチェーンを作って、継承
+SVGDocument.prototype = Object._create(Document);  //ノードのプロトタイプチェーンを作って、継承
 
 /*軽量化のために、頻繁に使われる処理をSVGDocumentの独自メソッドとしてまとめておく*/
 SVGDocument.prototype._domnodeEvent = function() {
@@ -1312,7 +1312,7 @@ function SVGSVGElement(_doc) {
   }, false);
   return this;
 };
-SVGSVGElement.prototype = new SVGElement();
+SVGSVGElement.prototype = Object._create(SVGElement);
 /*void*/          SVGSVGElement.prototype.forceRedraw = function() {
 };
 /*float*/         SVGSVGElement.prototype.getCurrentTime = function(){
@@ -1463,7 +1463,7 @@ function SVGViewSpec(ele) {
   /*readonly DOMString*/        this.viewBoxString = this.preserveAspectRatioString = this.transformString = this.viewTargetString = "";
   return this;
 };
-SVGViewSpec.prototype = new SVGFitToViewBox();
+SVGViewSpec.prototype = Object._create(SVGFitToViewBox);
 
 function SVGGElement(_doc) {
   SVGElement.apply(this);
@@ -1503,20 +1503,20 @@ function SVGGElement(_doc) {
   }, false);
   return this;
 };
-SVGGElement.prototype = new SVGElement();
+SVGGElement.prototype = Object._create(SVGElement);
 
 function SVGDefsElement() {
   SVGElement.apply(this, arguments);
   this.style.setProperty("display", "none");
   return this;
 };
-SVGDefsElement.prototype = new SVGElement();
+SVGDefsElement.prototype = Object._create(SVGElement);
 
 function SVGDescElement() {
   SVGElement.apply(this, arguments);
   return this;
 }
-SVGDescElement.prototype = new SVGElement();
+SVGDescElement.prototype = Object._create(SVGElement);
 
 function SVGTitleElement() {
   SVGElement.apply(this, arguments);
@@ -1525,13 +1525,13 @@ function SVGTitleElement() {
   }, false);
   return this;
 }
-SVGTitleElement.prototype = new SVGElement();
+SVGTitleElement.prototype = Object._create(SVGElement);
 
 function SVGSymbolElement(_doc) {
   SVGElement.apply(this, arguments);
   return this;
 }
-SVGSymbolElement.prototype = new SVGElement();
+SVGSymbolElement.prototype = Object._create(SVGElement);
 
 function SVGUseElement() {
   SVGGElement.apply(this, arguments);
@@ -1593,7 +1593,7 @@ function SVGUseElement() {
   SVGURIReference.apply(this);
   return this;
 };
-SVGUseElement.prototype = new SVGElement();
+SVGUseElement.prototype = Object._create(SVGElement);
 
 function SVGElementInstance() {
   /*EventTargetの代用として
@@ -1610,7 +1610,7 @@ function SVGElementInstance() {
   /*readonly SVGElementInstance*/ this.nextSibling;
   return this;
 };
-SVGElementInstance.prototype = new Node();
+SVGElementInstance.prototype = Object._create(Node);
 /*SVGElementInstanceList
  */
 function SVGElementInstanceList() { 
@@ -1679,13 +1679,13 @@ function SVGImageElement(_doc) {
   SVGURIReference.apply(this);
   return this;
 };
-SVGImageElement.prototype = new SVGElement();
+SVGImageElement.prototype = Object._create(SVGElement);
 
 function SVGSwitchElement() {
   SVGElement.apply(this, arguments);
   return this;
 };
-SVGSwitchElement.prototype = new SVGElement();
+SVGSwitchElement.prototype = Object._create(SVGElement);
 
 //bookmarkletから呼び出されたらtrue
 var sieb_s;
@@ -2073,7 +2073,7 @@ function SVGStyleElement(_doc) {
   }, false);
   return this;
 };
-SVGStyleElement.prototype = new SVGElement();
+SVGStyleElement.prototype = Object._create(SVGElement);
 
 /*SVGPoint
  *2次元座標の点(x,y)を表すオブジェクト
@@ -2703,7 +2703,7 @@ function SVGPathElement(_doc) {
   this.addEventListener("DOMNodeInserted", this._nodeInsert, false);
   return this;
 };
-SVGPathElement.prototype = new SVGElement();
+SVGPathElement.prototype = Object._create(SVGElement);
 (function(_sproto) {
 _sproto._attrModi = function(evt){
   var tar = evt.target;
@@ -3473,7 +3473,7 @@ function SVGRectElement(_doc) {
   }, false);
   return this;
 };
-SVGRectElement.prototype = new SVGElement();
+SVGRectElement.prototype = Object._create(SVGElement);
 
 function SVGCircleElement(_doc) { 
   SVGElement.apply(this);
@@ -3563,7 +3563,7 @@ function SVGCircleElement(_doc) {
   }, false);
   return this;
 };
-SVGCircleElement.prototype = new SVGElement();
+SVGCircleElement.prototype = Object._create(SVGElement);
 
 function SVGEllipseElement(_doc) { 
   SVGElement.apply(this);
@@ -3656,7 +3656,7 @@ function SVGEllipseElement(_doc) {
   }, false);
   return this;
 };
-SVGEllipseElement.prototype = new SVGElement();
+SVGEllipseElement.prototype = Object._create(SVGElement);
 
 function SVGLineElement(_doc) { 
   SVGElement.apply(this);
@@ -3732,7 +3732,7 @@ function SVGLineElement(_doc) {
   }, false);
   return this;
 };
-SVGLineElement.prototype = new SVGElement();
+SVGLineElement.prototype = Object._create(SVGElement);
 
 /*_GenericSVGPolyElementインターフェース
  * このインターフェースはpolygonとpolyline要素共通のインターフェースとして使用。
@@ -3825,14 +3825,14 @@ function SVGPolylineElement(_doc) {
   _doc = void 0;
   return this;
 };
-SVGPolylineElement.prototype = new SVGElement();
+SVGPolylineElement.prototype = Object._create(SVGElement);
 
 function SVGPolygonElement(_doc) {
   NAIBU._GenericSVGPolyElement.call(this, _doc, "x e");
   _doc = void 0;
   return this;
 };
-SVGPolygonElement.prototype = new SVGElement();
+SVGPolygonElement.prototype = Object._create(SVGElement);
 
 function SVGTextContentElement(_doc) { 
   SVGElement.apply(this);
@@ -3880,7 +3880,7 @@ function SVGTextContentElement(_doc) {
 };
 
 (function(t) {
-t.prototype = new SVGElement();
+t.prototype = Object._create(SVGElement);
     // lengthAdjust Types
   /*unsigned short t.LENGTHADJUST_UNKNOWN           = 0;
   /*unsigned short t.LENGTHADJUST_SPACING           = 1;
@@ -4242,7 +4242,7 @@ function SVGTextPositioningElement(_doc) {
   return this;
 };
 SVGTextPositioningElement.constructor = SVGTextContentElement;
-SVGTextPositioningElement.prototype = new SVGTextContentElement();
+SVGTextPositioningElement.prototype = Object._create(SVGTextContentElement);
 SVGTextPositioningElement.prototype._texto = function(evt) {
   var tar = evt.target,
       ti = tar.firstChild,
@@ -4418,14 +4418,14 @@ function SVGTextElement(_doc) {
   return this;
 };
 SVGTextElement.constructor = SVGTextPositioningElement;
-SVGTextElement.prototype = new SVGTextPositioningElement();
+SVGTextElement.prototype = Object._create(SVGTextPositioningElement);
 
 function SVGTSpanElement() {
   SVGTextElement.apply(this, arguments);
   return this;
 };
 SVGTSpanElement.constructor = SVGTextPositioningElement;
-SVGTSpanElement.prototype = new SVGTextPositioningElement();
+SVGTSpanElement.prototype = Object._create(SVGTextPositioningElement);
 
 function SVGTRefElement(_doc) {
   SVGTextPositioningElement.apply(this, arguments);
@@ -4451,7 +4451,7 @@ function SVGTRefElement(_doc) {
   return this;
 };
 SVGTRefElement.constructor = SVGTextPositioningElement;
-SVGTRefElement.prototype = new SVGTextPositioningElement();
+SVGTRefElement.prototype = Object._create(SVGTextPositioningElement);
 
 function SVGTextPathElement() { 
   SVGTextContentElement.apply(this, arguments);
@@ -4462,7 +4462,7 @@ function SVGTextPathElement() {
   return this;
 };
 SVGTextPathElement.constructor = SVGTextContentElement;
-SVGTextPathElement.prototype = new SVGTextContentElement();
+SVGTextPathElement.prototype = Object._create(SVGTextContentElement);
 
 (function(t){
     // textPath Method Types
@@ -4483,19 +4483,19 @@ function SVGAltGlyphElement() {
   return this;
 };
 SVGAltGlyphElement.constructor = SVGTextPositioningElement;
-SVGAltGlyphElement.prototype = new SVGTextPositioningElement();
+SVGAltGlyphElement.prototype = Object._create(SVGTextPositioningElement);
 
 function SVGAltGlyphDefElement() {
   SVGElement.apply(this, arguments);
   return this;
 };
-SVGAltGlyphDefElement.prototype = new SVGElement();
+SVGAltGlyphDefElement.prototype = Object._create(SVGElement);
 
 function SVGAltGlyphItemElement() {
   SVGElement.apply(this, arguments);
   return this;
 };
-SVGAltGlyphItemElement.prototype = new SVGElement();
+SVGAltGlyphItemElement.prototype = Object._create(SVGElement);
 
 function SVGGlyphRefElement() { 
   SVGElement.apply(this, arguments);
@@ -4508,7 +4508,7 @@ function SVGGlyphRefElement() {
   SVGURIReference.apply(this, arguments);
   return this;
 };
-SVGGlyphRefElement.prototype = new SVGElement();
+SVGGlyphRefElement.prototype = Object._create(SVGElement);
 
 function SVGPaint() { 
   SVGColor.apply(this, arguments);
@@ -4516,7 +4516,7 @@ function SVGPaint() {
 };
 
 (function(t){
-t.prototype = new SVGColor();
+t.prototype = Object._create(SVGColor);
     // Paint Types
   /*unsigned short t.SVG_PAINTTYPE_UNKNOWN               = 0;
   /*unsigned short t.SVG_PAINTTYPE_RGBCOLOR              = 1;
@@ -4704,7 +4704,7 @@ function SVGMarkerElement(){
   /*unsigned short t.SVG_MARKER_ORIENT_UNKNOWN      = 0;
   /*unsigned short t.SVG_MARKER_ORIENT_AUTO         = 1;
   /*unsigned short t.SVG_MARKER_ORIENT_ANGLE        = 2;*/
-  t.prototype = new SVGSVGElement();
+  t.prototype = Object._create(SVGSVGElement);
   t.prototype.getScreenCTM = SVGElement.prototype.getScreenCTM;
   /*void*/ t.prototype.setOrientToAuto = function() {
   this.orientType.baseVal = /*t.SVG_MARKER_ORIENT_AUTO*/ 1;
@@ -4727,7 +4727,7 @@ function SVGColorProfileElement() {
   SVGURIReference.apply(this, arguments);
   return this;
 };
-SVGColorProfileElement.prototype = new SVGElement();
+SVGColorProfileElement.prototype = Object._create(SVGElement);
 
 function SVGColorProfileRule() { 
   SVGCSSRule.apply(this);
@@ -4736,7 +4736,7 @@ function SVGColorProfileRule() {
   /*unsigned short*/ this.renderingIntent;
   return this;
 };
-SVGColorProfileRule.prototype = new SVGCSSRule();
+SVGColorProfileRule.prototype = Object._create(SVGCSSRule);
 
 function SVGGradientElement() { 
   SVGElement.apply(this);
@@ -4796,7 +4796,7 @@ function SVGGradientElement() {
   }, false);
   return this;
 };
-SVGGradientElement.prototype = new SVGElement();
+SVGGradientElement.prototype = Object._create(SVGElement);
     // Spread Method Types
   /*unsigned short SVGGradientElement.SVG_SPREADMETHOD_UNKNOWN = 0;
   /*unsigned short SVGGradientElement.SVG_SPREADMETHOD_PAD     = 1;
@@ -4832,7 +4832,7 @@ function SVGLinearGradientElement() {
   }, false);
   return this;
 };
-SVGLinearGradientElement.prototype = new SVGGradientElement();
+SVGLinearGradientElement.prototype = Object._create(SVGGradientElement);
 
 function SVGRadialGradientElement(_doc) { 
   SVGGradientElement.apply(this);
@@ -4949,7 +4949,7 @@ function SVGRadialGradientElement(_doc) {
   }, false);
   return this;
 };
-SVGRadialGradientElement.prototype = new SVGGradientElement();
+SVGRadialGradientElement.prototype = Object._create(SVGGradientElement);
 
 function SVGStopElement() { 
   SVGElement.apply(this, arguments);
@@ -4962,7 +4962,7 @@ function SVGStopElement() {
   }, false);
   return this;
 };
-SVGStopElement.prototype = new SVGElement();
+SVGStopElement.prototype = Object._create(SVGElement);
 
 function SVGPatternElement() { 
   SVGElement.apply(this);
@@ -4982,14 +4982,14 @@ function SVGPatternElement() {
   /*unsigned short*/             this.zoomAndPan = /*SVGZoomAndPan.SVG_ZOOMANDPAN_DISABLE*/ 1;
   return this;
 };
-SVGPatternElement.prototype = new SVGElement();
+SVGPatternElement.prototype = Object._create(SVGElement);
 
 function SVGClipPathElement() { 
   SVGElement.apply(this, arguments);
   /*readonly SVGAnimatedEnumeration*/ this.clipPathUnits = new SVGAnimatedEnumeration();
   return this;
 };
-SVGClipPathElement.prototype = new SVGElement();
+SVGClipPathElement.prototype = Object._create(SVGElement);
 
 function SVGMaskElement() { 
   SVGElement.apply(this);
@@ -5003,7 +5003,7 @@ function SVGMaskElement() {
   sl = void 0;
   return this;
 };
-SVGMaskElement.prototype = new SVGElement();
+SVGMaskElement.prototype = Object._create(SVGElement);
 
 function SVGFilterElement() { 
   SVGElement.apply(this);
@@ -5021,7 +5021,7 @@ function SVGFilterElement() {
   //setFilterRes (/*unsigned long*/ filterResX,/*unsigned long*/ filterResY );
   return this;
 };
-SVGFilterElement.prototype = new SVGElement();
+SVGFilterElement.prototype = Object._create(SVGElement);
 
 function SVGFilterPrimitiveStandardAttributes(ele) { 
   SVGStylable.apply(this, arguments);
@@ -5034,7 +5034,7 @@ function SVGFilterPrimitiveStandardAttributes(ele) {
   /*readonly SVGAnimatedString*/ this.result = new sl();
   sl = void 0;
   };
-SVGFilterPrimitiveStandardAttributes.prototype = new SVGStylable();
+SVGFilterPrimitiveStandardAttributes.prototype = Object._create(SVGStylable);
 
 function SVGFEBlendElement() {
   SVGElement.apply(this, arguments);
@@ -5044,7 +5044,7 @@ function SVGFEBlendElement() {
   this._fpsa = SVGFilterPrimitiveStandardAttributes(this);
   return this;
 };
-SVGFEBlendElement.prototype = new SVGElement();
+SVGFEBlendElement.prototype = Object._create(SVGElement);
     // Blend Mode Types
   /*unsigned short SVGFEBlendElement.SVG_FEBLEND_MODE_UNKNOWN  = 0;
   /*unsigned short SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL   = 1;
@@ -5061,7 +5061,7 @@ function SVGFEGaussianBlurElement() {
   this._fpsa = SVGFilterPrimitiveStandardAttributes(this);
   return this;
 };
-SVGFEGaussianBlurElement.prototype = new SVGElement();
+SVGFEGaussianBlurElement.prototype = Object._create(SVGElement);
 /*void*/ SVGFEGaussianBlurElement.prototype.setStdDeviation = function(/*float*/ stdDeviationX, /*float*/ stdDeviationY ) {
   
 };
@@ -5073,7 +5073,7 @@ function SVGCursorElement() {
   SVGURIReference.apply(this, arguments);
   return this;
 };
-SVGCursorElement.prototype = new SVGElement();
+SVGCursorElement.prototype = Object._create(SVGElement);
 
 function SVGAElement(_doc) {
   SVGElement.apply(this);
@@ -5177,7 +5177,7 @@ function SVGAElement(_doc) {
   SVGURIReference.apply(this, arguments);
   return this;
 };
-SVGAElement.prototype = new SVGElement();
+SVGAElement.prototype = Object._create(SVGElement);
 
 function SVGViewElement() { 
   SVGElement.apply(this, arguments);
@@ -5188,7 +5188,7 @@ function SVGViewElement() {
   /*unsigned short*/             this.zoomAndPan = /*SVGZoomAndPan.SVG_ZOOMANDPAN_DISABLE*/ 1;
   return this;
 };
-SVGViewElement.prototype = new SVGElement();
+SVGViewElement.prototype = Object._create(SVGElement);
 
 function SVGScriptElement() { 
   SVGElement.apply(this);
@@ -5234,13 +5234,13 @@ function SVGScriptElement() {
   }, false);
   return this;
 };
-SVGScriptElement.prototype = new SVGElement();
+SVGScriptElement.prototype = Object._create(SVGElement);
 
 function SVGEvent() {
   Event.apply(this, arguments);
   return this;
 };
-SVGEvent.prototype = new Event();
+SVGEvent.prototype = Object._create(Event);
 
 function SVGZoomEvent() { 
   UIEvent.apply(this, arguments);
@@ -5251,7 +5251,7 @@ function SVGZoomEvent() {
   /*readonly SVGPoint*/ this.newTranslate = new SVGPoint();
   return this;
 };
-SVGZoomEvent.prototype = new UIEvent();
+SVGZoomEvent.prototype = Object._create(UIEvent);
 
 function SVGAnimationElement(es) {
   if (!!es) {
@@ -5528,7 +5528,7 @@ function SVGAnimationElement(es) {
   }, false);
   return this;
 };
-SVGAnimationElement.prototype = new SVGElement();
+SVGAnimationElement.prototype = Object._create(SVGElement);
 /*以下のメソッド(beginElementなど)については、
  *別モジュールであるsmil::ElementTimeControl(smil.js)を参照のこと
  */
@@ -5922,7 +5922,7 @@ function SVGAnimateElement(){
   }, false);
   return this;
 };
-SVGAnimateElement.prototype = new SVGAnimationElement(1);
+SVGAnimateElement.prototype = Object._create(SVGAnimationElement);
 
 function SVGSetElement(){
   SVGAnimationElement.apply(this);
@@ -6134,7 +6134,7 @@ function SVGAnimateMotionElement(){
   }, false);
   return this;
 };
-SVGAnimateMotionElement.prototype = new SVGAnimationElement(1);
+SVGAnimateMotionElement.prototype = Object._create(SVGAnimationElement);
 
 function SVGMPathElement() /* : 
                 SVGElement,
@@ -6144,7 +6144,7 @@ function SVGMPathElement() /* :
   SVGURIReference.apply(this);
   return this;
 };
-SVGMPathElement.prototype = new SVGElement();
+SVGMPathElement.prototype = Object._create(SVGElement);
 
 function SVGAnimateColorElement() {
   SVGAnimationElement.apply(this);
@@ -6247,7 +6247,7 @@ function SVGAnimateColorElement() {
   }, false);
   return this;
 };
-SVGAnimateColorElement.prototype = new SVGAnimationElement(1);
+SVGAnimateColorElement.prototype = Object._create(SVGAnimationElement);
 
 function SVGAnimateTransformElement() {
   SVGAnimationElement.apply(this);
@@ -6279,7 +6279,7 @@ function SVGAnimateTransformElement() {
   }, false);
   return this;
 };
-SVGAnimateTransformElement.prototype = new SVGAnimationElement(1);
+SVGAnimateTransformElement.prototype = Object._create(SVGAnimationElement);
 
 function SVGFontElement() /*: 
                 SVGElement,
@@ -6316,7 +6316,7 @@ function SVGFontElement() /*:
   }, false);
   return this;
 };
-SVGFontElement.prototype = new SVGElement();
+SVGFontElement.prototype = Object._create(SVGElement);
 
 function SVGGlyphElement() /*: 
                 SVGElement,
@@ -6324,7 +6324,7 @@ function SVGGlyphElement() /*:
   SVGElement.apply(this);
   return this;
 };
-SVGGlyphElement.prototype = new SVGElement();
+SVGGlyphElement.prototype = Object._create(SVGElement);
 
 function SVGMissingGlyphElement() /*: 
                 SVGElement,
@@ -6332,19 +6332,19 @@ function SVGMissingGlyphElement() /*:
   SVGElement.apply(this);
   return this;
 };
-SVGMissingGlyphElement.prototype = new SVGElement();
+SVGMissingGlyphElement.prototype = Object._create(SVGElement);
 
 function SVGHKernElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGHKernElement.prototype = new SVGElement();
+SVGHKernElement.prototype = Object._create(SVGElement);
 
 function SVGVKernElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGVKernElement.prototype = new SVGElement();
+SVGVKernElement.prototype = Object._create(SVGElement);
 
 function SVGFontFaceElement() {
   SVGElement.apply(this);
@@ -6359,13 +6359,13 @@ function SVGFontFaceElement() {
   }, false);
   return this;
 };
-SVGFontFaceElement.prototype = new SVGElement();
+SVGFontFaceElement.prototype = Object._create(SVGElement);
 
 function SVGFontFaceSrcElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGFontFaceSrcElement.prototype = new SVGElement();
+SVGFontFaceSrcElement.prototype = Object._create(SVGElement);
 
 function SVGFontFaceUriElement() {
   SVGElement.apply(this);
@@ -6388,31 +6388,31 @@ function SVGFontFaceUriElement() {
   SVGURIReference.apply(this);
   return this;
 };
-SVGFontFaceUriElement.prototype = new SVGElement();
+SVGFontFaceUriElement.prototype = Object._create(SVGElement);
 
 function SVGFontFaceFormatElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGFontFaceFormatElement.prototype = new SVGElement();
+SVGFontFaceFormatElement.prototype = Object._create(SVGElement);
 
 function SVGFontFaceNameElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGFontFaceNameElement.prototype = new SVGElement();
+SVGFontFaceNameElement.prototype = Object._create(SVGElement);
 
 function SVGDefinitionSrcElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGDefinitionSrcElement.prototype = new SVGElement();
+SVGDefinitionSrcElement.prototype = Object._create(SVGElement);
 
 function SVGMetadataElement() {
   SVGElement.apply(this);
   return this;
 };
-SVGMetadataElement.prototype = new SVGElement();
+SVGMetadataElement.prototype = Object._create(SVGElement);
 
 function SVGForeignObjectElement() /*: 
                 SVGElement,
@@ -6431,7 +6431,7 @@ function SVGForeignObjectElement() /*:
   sl = void 0;
   return this;
 };
-SVGForeignObjectElement.prototype = new SVGElement();
+SVGForeignObjectElement.prototype = Object._create(SVGElement);
 
 //#endif  _SVG_IDL_
 /*SVGの要素マッピング(DOMでは定められていないが、必須)