Right now invalidateNodeListsCacheAfterAttributeChanged has a hard coded list of attributes to watch out but this is problematic if wanted to also support HTMLCollection here because HTMLCollection depends on more attributes. Also, we currently invalidate node lists when an attribute that's relevant to any node list type regardless of whether such a node list exists in the document or not. We can do better by remembering which node list types are present in the document, and avoiding the invalidation altogether when some attribute changes and node lists that care about the attribute doesn't exist in the document.
Created attachment 151854 [details] Cleanup
Created attachment 151855 [details] Renamed shouldInvalidateNodeList to shouldInvalidateDynamicSubtreeNodeList
Created attachment 151859 [details] Fixed a bug
This is one of the most important patches in this refactoring effort.
Comment on attachment 151859 [details] Fixed a bug Attachment 151859 [details] did not pass efl-ews (efl): Output: http://queues.webkit.org/results/13221081
Created attachment 151863 [details] Fixed build for microdata
Committed r122498: <http://trac.webkit.org/changeset/122498>
Created attachment 154342 [details] backtrace I'm hitting this assertion when running a internal test suite we have here. Unfortunately I could not create a test yet that maps exactly what triggers this assertion, but what the test suit does is: - It has a frameset with two frames, one for the test (A) another one for progress (B). - Loads a test case on the frame A. - Does some checks to find out when the test is done on the frame A. - Manipulates the DOM inside the progress frame B. - Replaces the src from the frame A with a new test case. - Looks like the crash happens at the moment the src from frame A is replaced. I could reproduce the crash on Qt too running the same test suite. Any insight?
Please file a new bug instead of commenting here.
(In reply to comment #9) > Please file a new bug instead of commenting here. Moved to bug 92742.