[Dojo-checkins] [dojo] #10269: dojox.gfx SVG backend optimization

dojo trac at dojotoolkit.org
Thu Nov 5 12:40:07 EST 2009


#10269: dojox.gfx SVG backend optimization
-------------------------+--------------------------------------------------
 Reporter:  opichals     |        Owner:  elazutkin
     Type:  enhancement  |       Status:  assigned 
 Priority:  normal       |    Milestone:  future   
Component:  DojoX GFX    |      Version:  1.4.0b   
 Severity:  normal       |   Resolution:           
 Keywords:               |  
-------------------------+--------------------------------------------------
Changes (by elazutkin):

  * status:  new => assigned
  * type:  defect => enhancement
  * milestone:  1.4 => future


Old description:

> With the following patch we could get one less code line on the svg.js
> rendering backend. The appendChild() itself is done in the this.add()
> method called just a couple of lines below (in the code branch for the
> shapes which don't have any parent).
>

> Index: svg.js
> ===================================================================
> --- svg.js      (revision 20722)
> +++ svg.js      (working copy)
> @@ -647,7 +647,6 @@
>                                 node = _createElementNS(svg.xmlns.svg,
> shapeType.nodeType);
>
>                         shape.setRawNode(node);
> -                       this.rawNode.appendChild(node);
>                         shape.setShape(rawShape);
>                         this.add(shape);
>                         return shape;   // dojox.gfx.Shape

New description:

 With the following patch we could get one less code line on the svg.js
 rendering backend. The appendChild() itself is done in the this.add()
 method called just a couple of lines below (in the code branch for the
 shapes which don't have any parent).

 {{{
 --- svg.js      (revision 20722)
 +++ svg.js      (working copy)
 @@ -647,7 +647,6 @@
                         node = _createElementNS(svg.xmlns.svg,
 shapeType.nodeType);

                         cshape.setRawNode(node);
 -                       this.rawNode.appendChild(node);
                         shape.setShape(rawShape);
                         this.add(shape);
                         return shape;   // dojox.gfx.Shape
 }}}

--

Comment:

 The line in question was added on purpose because some browsers were
 "loosing" node properties and node children when adding to the DOM tree.
 We need to retest all supported browsers to see if this is still the case.

 This ticket does not fixes a bug that affects functionality or performance
 in any significant way, so technically it is not a "defect". Most probably
 we can qualify it as an "enhancement".

 Additionally you should raise this issue with svgweb --- bugs should be
 fixed where they are introduced, not in all potential clients.

-- 
Ticket URL: <http://bugs.dojotoolkit.org/ticket/10269#comment:2>
dojo <http://dojotoolkit.org/>
The Dojo UI Toolkit


More information about the Dojo-checkins mailing list