Hey All,

I've committed my big change to the gadget rendering that switches it over
from a plain old 'output text strings' to a completely DOMDocument based
model (ie: the gadget's document is parsed using the dom doc, and all the js
and css are injected through dom functions (appendChild/etc)).

The upside of this change is that the same logic is re-usable for the
proxied content parsing, where the same js and css needed to be injected
(even though the remote content can have a proper <html><head><body>
structure or not, valid existing js/css or not, etc). So by using the DOM
functions, libxml sorts all this out for us and always makes a proper html
document out of it, also it significantly reduced duplicate code paths and
the end result is a much cleaner implementation.

The downside is that the output is now slightly different then before, most
noticeably, 'broken' html will come out slightly different then before
(because libxml 'fixes' it), which has the potential of breaking gadgets.

I've tested my standard set of gadgets (Budy Poke, iLike, OSDA, Compliance
Test, etc) and they all work fine through the new parser, but if you have
any gadgets to test with, I would love to hear how they work on the new
renderer. http://www.partuza.nl/ now runs this new implementation, so that's
probably the easiest place to test right now.

Thanks!

   -- Chris

Reply via email to