<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>5191</bug_id>
          
          <creation_ts>2007-10-14 05:27:52 +0000</creation_ts>
          <short_desc>Does SVGViewSpec track changes to the original SVGSVGElement?</short_desc>
          <delta_ts>2013-03-14 16:33:13 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>SVG</product>
          <component>SVG Document Object Model (DOM)</component>
          <version>SVG 2.0</version>
          <rep_platform>Macintosh</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>Errata</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel">eseidel</reporter>
          <assigned_to name="Doug Schepers">schepers</assigned_to>
          <cc>dschulze</cc>
    
    <cc>fmalita</cc>
    
    <cc>longsonr</cc>
          
          <qa_contact name="SVG Public List">www-svg</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>17178</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel">eseidel</who>
    <bug_when>2007-10-14 05:27:52 +0000</bug_when>
    <thetext>Does SVGViewSpec track changes to the original SVGSVGElement?

http://www.w3.org/TR/SVG/struct.html#InterfaceSVGSVGElement

Does not make it clear if &quot;currentView&quot; returns an SVGViewSpec object which tracks changes to the original (such as all the SVGAnimated* classes must do: e.g. var width = rect.width; rect.width.baseVal.value = 10; alert(width.baseVal.value); // expect 10), or if it is a normal &quot;plain old data&quot; object which is a copy of what SVGSVGElement had and never changes?

Either way is fine, it just needs to be clarified.  if SVGViewSpec is just a copy of the original and never changes once copied, that&apos;s easier to implement.

One possible implementation problem if it tracks changes to SVGSVGElement, is what happens when that SVGSVGElement is removed from the document?  Do then all of the viewPort, targetElement, preserveAspectRatio accessors then go undefined?

var svg = document.getElementById(&quot;mysvg&quot;);
var currentView = svg.currentView;
var svgParent = svg.parentNode;

svgParent.removeNode(svg);

alert(currentView.targetNode); // does this still work?

One particularly thorny side effect of them *not* changing to undefined is that targetElement could be used to re-insert the SVGSVGElement, example:

svgParent.removeNode(svg);
svgParent.appendNode(currentView.targetNode.ownerSVGElement);

Or equally fun to implement, I assume targetNode should at least update when nodes come and go from the document/change ids?

Just looking for some guidance from you spec folks, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>17179</commentid>
    <comment_count>1</comment_count>
      <attachid>494</attachid>
    <who name="Eric Seidel">eseidel</who>
    <bug_when>2007-10-14 05:29:54 +0000</bug_when>
    <thetext>Created attachment 494
an example test case of currentView &quot;standard&quot; behavior

Note the test case is not stand alone and will not run in your browser.  This test case assumes that SVGViewSpec objects *should* update when the original SVGSVGElement changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84410</commentid>
    <comment_count>2</comment_count>
    <who name="Dirk Schulze">dschulze</who>
    <bug_when>2013-03-14 13:28:48 +0000</bug_when>
    <thetext>Putting it into the scope of SVG2. It needs testing what current browsers do here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84420</commentid>
    <comment_count>3</comment_count>
    <who name="Robert Longson">longsonr</who>
    <bug_when>2013-03-14 14:40:28 +0000</bug_when>
    <thetext>You mean should this animate? http://hoffmann.bplaced.net/svgtest/viewviewbox01.svg#view1

It does in Opera and Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84421</commentid>
    <comment_count>4</comment_count>
    <who name="Florin Malita">fmalita</who>
    <bug_when>2013-03-14 15:20:32 +0000</bug_when>
    <thetext>(In reply to comment #3)
&gt; You mean should this animate?
&gt; http://hoffmann.bplaced.net/svgtest/viewviewbox01.svg#view1
&gt; 
&gt; It does in Opera and Firefox.

No, this is related to SVGViewSpec, as accessed via SVGSVGElement.currentView: http://www.w3.org/TR/SVG/struct.html#__svg__SVGSVGElement__currentView


AFAICT currentView is not supported in FF19:

Error: NS_ERROR_NOT_IMPLEMENTED: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMSVGSVGElement.currentView]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84425</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Longson">longsonr</who>
    <bug_when>2013-03-14 16:33:13 +0000</bug_when>
    <thetext>Oh that. We can&apos;t figure out how what it should do see http://www.w3.org/Graphics/SVG/WG/track/issues/2444 and https://bugzilla.mozilla.org/show_bug.cgi?id=503855#c6</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>494</attachid>
            <date>2007-10-14 05:29:54 +0000</date>
            <delta_ts>2007-10-14 05:29:54 +0000</delta_ts>
            <desc>an example test case of currentView &quot;standard&quot; behavior</desc>
            <filename>currentView-standard.xhtml</filename>
            <type>application/xhtml+xml</type>
            <size>3322</size>
            <attacher name="Eric Seidel">eseidel</attacher>
            
              <data encoding="base64">PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgo8aGVhZD4KPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0
eWxlLmNzcyIgLz4KPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+
CjxzdmcgaWQ9InN2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0
aW89InhNaW5ZTWluIiB6b29tQW5kUGFuPSJkaXNhYmxlIj4KPC9zdmc+CjxkaXYgaWQ9ImNvbnNv
bGUiPjwvZGl2Pgo8c2NyaXB0PgogIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdHJpZXMgYWNjZXNz
aW5nIGFuZCBtb2RpZnlpbmcgU1ZHU1ZHRWxlbWVudC5jdXJyZW50Vmlldy4iKTsKCiAgaWYgKCF3
aW5kb3cuc2hvdWxkQmVOdWxsKSB7CiAgICB3aW5kb3cuc2hvdWxkQmVOdWxsID0gZnVuY3Rpb24o
cykgeyBzaG91bGRCZShzLCAibnVsbCIpOyB9CiAgfQogIAogIGlmICghd2luZG93LnNob3VsZEJl
RXF1YWxUb1N0cmluZykgewogICAgd2luZG93LnNob3VsZEJlRXF1YWxUb1N0cmluZyA9IGZ1bmN0
aW9uKGEsIGIpIHsKICAgICAgdmFyIHVuZXZhbGVkU3RyaW5nID0gJyInICsgYi5yZXBsYWNlKC8i
L2csICJcIiIpICsgJyInOwogICAgICBzaG91bGRCZShhLCB1bmV2YWxlZFN0cmluZyk7CiAgICB9
CiAgfQogIAogIHZhciBzdmcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic3ZnIik7CiAgdmFy
IGN1cnJlbnRWaWV3ID0gc3ZnLmN1cnJlbnRWaWV3OwogIAogIHNob3VsZEJlKCJjdXJyZW50Vmll
dy52aWV3Qm94IiwgInN2Zy52aWV3Qm94Iik7CiAgc2hvdWxkQmUoImN1cnJlbnRWaWV3LnZpZXdC
b3guYmFzZVZhbCIsICJzdmcudmlld0JveC5iYXNlVmFsIik7CiAgc2hvdWxkQmUoImN1cnJlbnRW
aWV3LnByZXNlcnZlQXNwZWN0UmF0aW8iLCAic3ZnLnByZXNlcnZlQXNwZWN0UmF0aW8iKTsKICBz
aG91bGRCZSgiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsIiwgInN2Zy5w
cmVzZXJ2ZUFzcGVjdFJhdGlvLmJhc2VWYWwiKTsKICBzaG91bGRCZSgiY3VycmVudFZpZXcuem9v
bUFuZFBhbiIsICJzdmcuem9vbUFuZFBhbiIpOwogIHNob3VsZEJlTnVsbCgiY3VycmVudFZpZXcu
dHJhbnNmb3JtIik7CiAgc2hvdWxkQmVOdWxsKCJjdXJyZW50Vmlldy52aWV3VGFyZ2V0Iik7CiAg
CiAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy52aWV3Qm94U3RyaW5nIiwgIjAg
MCAxMDAgMTAwIik7CiAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy5wcmVzZXJ2
ZUFzcGVjdFJhdGlvU3RyaW5nIiwgInhNaW5ZTWluIik7CiAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJjdXJyZW50Vmlldy56b29tQW5kUGFuU3RyaW5nIiwgImRpc2FibGUiKTsKICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnRyYW5zZm9ybVN0cmluZyIsICIiKTsKICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdUYXJnZXRTdHJpbmciLCAiIik7CiAgCiAg
Ly8gTm93IHRyeSBhbHRlcmluZyB2aWEgc2V0QXR0cmlidXRlCgogIHN2Zy5zZXRBdHRyaWJ1dGUo
InZpZXdCb3giLCAiMTAgMTAgNTAgNTAiKTsKICBzdmcuc2V0QXR0cmlidXRlKCJwcmVzZXJ2ZUFz
cGVjdFJhdGlvIiwgInhNYXhZTWF4IHNsaWNlIik7CiAgc3ZnLnNldEF0dHJpYnV0ZSgiem9vbUFu
ZFBhbiIsICJtYWduaWZ5Iik7CgogIHNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94IiwgInN2
Zy52aWV3Qm94Iik7CiAgc2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8i
LCAic3ZnLnByZXNlcnZlQXNwZWN0UmF0aW8iKTsKICBzaG91bGRCZSgiY3VycmVudFZpZXcuem9v
bUFuZFBhbiIsICJzdmcuem9vbUFuZFBhbiIpOwogIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3Vy
cmVudFZpZXcudmlld0JveFN0cmluZyIsICIxMCAxMCA1MCA1MCIpOwogIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiY3VycmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyIsICJ4TWF4WU1h
eCBzbGljZSIpOwogIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3VycmVudFZpZXcuem9vbUFuZFBh
blN0cmluZyIsICJtYWduaWZ5Iik7CgogIC8vIE5vdyB0cnkgYWx0ZXJpbmcgdmlhIHRoZSBET00K
ICBzdmcudmlld0JveC5iYXNlVmFsLnggPSAzMDsKICBzdmcudmlld0JveC5iYXNlVmFsLnkgPSAz
MDsKICBzdmcudmlld0JveC5iYXNlVmFsLndpZHRoID0gMTAwOwogIHN2Zy52aWV3Qm94LmJhc2VW
YWwuaGVpZ2h0ID0gMTAwOwoKICBzdmcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLmFsaWdu
ID0gU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5TVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1J
RDsKICBzdmcucHJlc2VydmVBc3BlY3RSYXRpby5iYXNlVmFsLm1lZXRPclNsaWNlID0gU1ZHUHJl
c2VydmVBc3BlY3RSYXRpby5TVkdfTUVFVE9SU0xJQ0VfTUVFVDsKICAKICBpZiAod2luZG93LlNW
R1pvb21BbmRQYW4pIHsKICAgIHN2Zy56b29tQW5kUGFuID0gU1ZHWm9vbUFuZFBhbi5TVkdfWk9P
TUFORFBBTl9ESVNBQkxFOwogIH0gZWxzZSB7CiAgICAvLyBTYWZhcmkgaGFzbid0IGltcGxlbWVu
dGVkIFNWR1pvb21BbmRQYW4gb24gd2luZG93IHlldC4KICAgIHN2Zy56b29tQW5kUGFuID0gMTsK
ICB9CgogIHNob3VsZEJlKCJjdXJyZW50Vmlldy52aWV3Qm94IiwgInN2Zy52aWV3Qm94Iik7CiAg
c2hvdWxkQmUoImN1cnJlbnRWaWV3LnByZXNlcnZlQXNwZWN0UmF0aW8iLCAic3ZnLnByZXNlcnZl
QXNwZWN0UmF0aW8iKTsKICBzaG91bGRCZSgiY3VycmVudFZpZXcuem9vbUFuZFBhbiIsICJzdmcu
em9vbUFuZFBhbiIpOwoKICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImN1cnJlbnRWaWV3LnZpZXdC
b3hTdHJpbmciLCAiMzAgMzAgMTAwIDEwMCIpOwogIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY3Vy
cmVudFZpZXcucHJlc2VydmVBc3BlY3RSYXRpb1N0cmluZyIsICJ4TWluWU1pZCBtZWV0Iik7CiAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjdXJyZW50Vmlldy56b29tQW5kUGFuU3RyaW5nIiwgImRp
c2FibGUiKTsKICAKICBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo8L3NjcmlwdD4KPC9ib2R5
Pgo8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KPC9odG1sPg==
</data>

          </attachment>
      

    </bug>

</bugzilla>