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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>45259</bug_id>
          
          <creation_ts>2010-09-06 05:18:15 -0700</creation_ts>
          <short_desc>SVG drawing freeze</short_desc>
          <delta_ts>2026-04-02 00:36:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>525.x (Safari 3.2)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc>http://www.mappetizer.de/en/examples/schlatterbach/index.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>45389</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Armin Mueller">A.Mueller</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>A.Mueller</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>274562</commentid>
    <comment_count>0</comment_count>
    <who name="Armin Mueller">A.Mueller</who>
    <bug_when>2010-09-06 05:18:15 -0700</bug_when>
    <thetext>The problem occurs in Safari and in Chrome

If you check and uncheck layers in the legend, then you see that the legend part is changing and the layer is visible/unvisible in the map.
If you now change the tab to tools and then go back to legend you still see the legend. But if you check/uncheck a layer only the map part is updated but the legend part is not updated it is freezed

For the Tab we use Dojo Dijits. The handling is fine with Firefox, Opera and IE (with Adobe SVGViewer)

Thank you for looking at this problem

Armin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275851</commentid>
    <comment_count>1</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-08 08:21:39 -0700</bug_when>
    <thetext>I investigated a bit using WebInspector.

It seems to me that there&apos;s a variable in mappetizer, that points to the SVGDocument contained in the &lt;embed&gt; object. When switching tabs the renderer is destroyed, and recreated as soon as you switch back to the &quot;legend&quot; tab again. But the variable in JS still references the &quot;old&quot; document from the first load.

When constructing the renderer, it will requiest the embedded SVG, parse the DOM, and attach to our render tree - that means a new document is created - and your JS still points to the old one.

If Dojo would use visibility instead of display, I guess you wouldn&apos;t see any bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275852</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-09-08 08:27:01 -0700</bug_when>
    <thetext>function mv_testEmbedLegend() {
    try {
        //Problem, wenn Legende in Tab und erster Tab ist nicht Legende(also nicht sichtbar),
        //dann kommt Opera, Safari.... nicht an das SVGDocument
        var svgDoc = dojo.byId(&quot;MVlegendDoc&quot;).getSVGDocument();
        if (svgDoc == null) {
            // Endlosschleife
            if (dojo.byId(&quot;MVtabContainer&quot;)) {
                dijit.byId(&quot;MVtabContainer&quot;).selectChild(&quot;MVlegend&quot;);
            }
            mv_checkLegendLoaded();
        }
        else {
            mv_Map.Legend = svgDoc;
...

This is the culprit. The mv_Map.Legend is only cached once.
Which is perfectly fine, but as WebKit recreates the embedded document, upon switching tabs, you&apos;re doomed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2196190</commentid>
    <comment_count>3</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2026-04-02 00:36:14 -0700</bug_when>
    <thetext>Somewhat of link but it seems to broken - https://web.archive.org/web/20111206202926/https://www.mappetizer.de/en/examples/schlatterbach/index.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2196191</commentid>
    <comment_count>4</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2026-04-02 00:36:36 -0700</bug_when>
    <thetext>(In reply to Ahmad Saleem from comment #3)
&gt; Somewhat of link but it seems to broken -
&gt; https://web.archive.org/web/20111206202926/https://www.mappetizer.de/en/
&gt; examples/schlatterbach/index.html

Don&apos;t know I can test with it. :-(</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>