I'm speaking from the framework's side. Yes, I did gloss over certain complexities and constraints, but yes, it's almost there in practice.<div><br></div><div>1. If they don't expose the node through a ref or something, and no event handlers exist, they could just assume (unsafely) you don't reference it, and act accordingly. Note that I'm speaking from the framework level, which can take liberties browsers can't.</div><div>2. I make the assumption you build change lists beforehand, and that resolves all dependencies first. And in general, once you figure out what changes need made, it doesn't actually matter as long as you unregister `blur`/etc. handlers that fire on removal before applying the change list.</div><div>3. Script elements execute async, so you could ignore order here.</div><div>4. For style elements and ref-accessible elements, you could still execute the changes in set slices, splitting on nodes/callbacks that require awareness of past effects. (This could just be a flag.) However, these are exceedingly rare.</div><div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jan 26, 2018, 23:18 Boris Zbarsky <<a href="mailto:bzbarsky@mit.edu">bzbarsky@mit.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 1/26/18 10:49 PM, Isiah Meadows wrote:<br>
> Applying DOM changes from a static change list is<br>
> an embarassingly parallel\* problem.<br>
<br>
Only if you know there are no overlaps in terms of the nodes involved.<br>
And you ignore mutation events.  And you ignore the fact that mutation<br>
records expose your order of operations.  And you know that none of the<br>
insertions have immediate side-effects (e.g. none are <script> nodes).<br>
And your style system doesn't try to do style recomputation in certain<br>
ways.  And probably some other conditions that I'm forgetting.<br>
<br>
-Boris<br>
<br>
_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
</blockquote></div></div>