Remove support for non-lazy attach and fix frames to load from insertedIntoDocument instead of attach
Created attachment 66842 [details] Patch
Comment on attachment 66842 [details] Patch This is not actually ready for review yet. fast/frames/frame-limit.html still hits an ASSERT, but every other test passes. fast/frames/frame-limit.html hits an ASSERT: void Page::checkFrameCountConsistency() const { ASSERT(m_frameCount >= 0); int frameCount = 0; for (Frame* frame = mainFrame(); frame; frame = frame->tree()->traverseNext()) ++frameCount; ASSERT(m_frameCount + 1 == frameCount); } The frame count is off (too high) by one. Not sure what is causing this yet.
Comment on attachment 66842 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=66842&action=prettypatch > WebCore/dom/Node.cpp:752 > + for (Node* p = parentNode(); p && !p->childNeedsStyleRecalc(); p = p->parentNode()) > + p->setChildNeedsStyleRecalc(); > + if (document()->childNeedsStyleRecalc()) > + document()->scheduleStyleRecalc(); Why's this distinct from setNeedsStyleRecalc() now? > WebCore/html/HTMLFrameElementBase.cpp:199 > + // Loads may cause synchronous javascript execution (e.g. beforeload or > + // src=javascript), which could try to access the renderer before the normal > + // parser machinery would call lazyAttach() and set us as needing style > + // resolve. Calling lazyAttach() here marks this for a style resolve. > + setNeedsStyleRecalc(FullStyleChange); Comment seems a little out of sync with what the code is doing.
Reduction of last test causing me trouble: <body> <script> var parent = document.createElement('iframe'); document.body.appendChild(parent); var frame = document.createElement("iframe"); frame.setAttribute("src", "data:text/plain,1"); parent.contentDocument.body.appendChild(frame); parent.parentNode.removeChild(parent); </script>
Created attachment 67004 [details] Patch
Comment on attachment 67004 [details] Patch Ancessors should be Ancestors.
Comment on attachment 67004 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=67004&action=prettypatch > WebCore/dom/Node.h:-314 > - virtual bool canLazyAttach() { return true; } What about HTMLPluginImageElement? It still returns false.
Comment on attachment 67004 [details] Patch Oops. sorry, transferring over dhyatt's rs and cqs
Created attachment 67054 [details] Updated with Dave and Dimitri's comments
Comment on attachment 67054 [details] Updated with Dave and Dimitri's comments I am pretty sure you're doing everything right, but somehow I am certain this will not be the end of it :) Godspeed.
Comment on attachment 67054 [details] Updated with Dave and Dimitri's comments Clearing flags on attachment: 67054 Committed r67182: <http://trac.webkit.org/changeset/67182>
All reviewed patches have been landed. Closing bug.
*** Bug 57512 has been marked as a duplicate of this bug. ***
*** Bug 62104 has been marked as a duplicate of this bug. ***