<?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>3273</bug_id>
          
          <creation_ts>2005-06-04 20:26:42 -0700</creation_ts>
          <short_desc>XSL Transformations should occur on a separate thread</short_desc>
          <delta_ts>2010-09-15 08:52:07 -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>XML</component>
          <version>412</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>ian</cc>
    
    <cc>mail</cc>
    
    <cc>webdev</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>10733</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-06-04 20:26:42 -0700</bug_when>
    <thetext>XSL Transformations currently occur on the UI thread.  This means that a long transformation could end 
up beachballing Safari (or another Web Kit application that uses it).  The transformation should take place 
on a separate thread and call back to the UI thread once complete to avoid blocking the UI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26785</commentid>
    <comment_count>1</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-12-27 13:29:39 -0800</bug_when>
    <thetext>Assigning bugs which hyatt is not actively working on to &quot;nobody&quot; for clarity/consistancy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100148</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Willner">alex</who>
    <bug_when>2008-11-24 21:11:22 -0800</bug_when>
    <thetext>Just to update this old ticket: seems to be still valid for the current version. I&apos;ve duplicated some part of the code within the following example in order to create a 10 MB file:

http://www.w3.org/2001/05/xslt-example/REC-xml-20001006.xml

In contrast to a 10 MB HTML file Safari is &quot;beachballing&quot; while rendering/transforming the page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279440</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-09-15 00:47:38 -0700</bug_when>
    <thetext>Realistically, I don&apos;t think we&apos;re going to do this.  The DOM isn&apos;t threadsafe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279560</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-09-15 08:44:00 -0700</bug_when>
    <thetext>The document is serialized to string for XSL transformation, so the actual transformation doesn&apos;t touch the DOM. As long as it&apos;s the transformation that takes most of the time here, it could be beneficial to use a separate thread.

I&apos;m not sure if it&apos;s realistic to expect that we work on this, and whether it&apos;s a practical issue. Safari doesn&apos;t beachball even on the example from comment 2 on modern desktop hardware.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>279564</commentid>
    <comment_count>5</comment_count>
    <who name="Robbert Broersma">mail</who>
    <bug_when>2010-09-15 08:52:07 -0700</bug_when>
    <thetext>At Xopus we use some very complex XSLTs, and some of our clients have XSLTs that need optimization or are optimized for MSXML. Processing in those cases can take several seconds, and async support would definitely be very helpful to the Safari users and be a huge advantage over other browsers.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>