Hi
tasak@ has been working on removing XSLT code from core/ by using Blink-in-JS, but he has finished the work by making a bunch of C++-level refactoring without introducing XSLT-in-JS. Now we have no XSLT code in core/ except for core/xml/ and a very limited number of files like ProcessingInstructions. In particular, it would be worth emphasizing that we have removed all problematic XSLT code in Document and StyleEngine.
As you know, there had been a lot of discussions about a guideline and goals of Blink-in-JS [1][2]. To avoid those controversial discussions, tasak@ spent a lot of time to minimize the JS part of XSLT-in-JS. As a result, tasak@ cleaned up XSLT code at a C++ level. For example, [3] is the final CL of XSLT-in-JS where the JS part is already minimized. We considered if we should land the CL, but we concluded that it would no longer be worth landing because the CL just removes 80 lines of XSLT code from core/. After that, the genius tasak@ came up with an idea to remove the remaining 80 lines of XSLT code at a C++ level [4] and thus he finished the XSLT work without introducing XSLT-in-JS.
It was great that we've achieved our goal (remove XSLT code from core/), but it was not great that it took so long time to achieve the goal. It should have been just a two-week of engineering work if there had been no discussions about Blink-in-JS.
Now that we have a good guideline [5] about Blink-in-JS development, let's move future Blink-in-JS work forward more productively following (or improving) the guideline. Once an Intent-to-implement is approved by the community, we want to have a smoother way to support the Blink-in-JS work rather than blocking the work. That's the lesson we've learned from XSLT-in-JS :)
I'm a big fan of a productive culture of Blink ^_^;
Thanks!
--
Kentaro Hara, Tokyo, Japan