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.
Assigning bugs which hyatt is not actively working on to "nobody" for clarity/consistancy.
Just to update this old ticket: seems to be still valid for the current version. I've duplicated some part of the code within the following example in order to create a 10 MB file:
In contrast to a 10 MB HTML file Safari is "beachballing" while rendering/transforming the page.
Realistically, I don't think we're going to do this. The DOM isn't threadsafe.
The document is serialized to string for XSL transformation, so the actual transformation doesn't touch the DOM. As long as it's the transformation that takes most of the time here, it could be beneficial to use a separate thread.
I'm not sure if it's realistic to expect that we work on this, and whether it's a practical issue. Safari doesn't beachball even on the example from comment 2 on modern desktop hardware.
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.