Summary: | Some content causes deep recursion. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | zalan <zalan> | ||||||||||
Component: | Layout and Rendering | Assignee: | zalan <zalan> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | commit-queue, koivisto, simon.fraser, webkit-bug-importer | ||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||
Version: | WebKit Nightly Build | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Attachments: |
|
Created attachment 277796 [details]
WIP patch
This patch limits render tree nesting. DOM can have all the nested nodes but renderer tree has only up to 512. (from 512 and up, it's like they were display: none}
This (DOM vs render tree) matches FF(45.0.2) behavior.
> This (DOM vs render tree) matches FF(45.0.2) behavior.
But not Chrome?
(In reply to comment #3) > > This (DOM vs render tree) matches FF(45.0.2) behavior. > > But not Chrome? No, Chrome crashes when the stack space is exhausted. Created attachment 277839 [details]
Patch
Comment on attachment 277839 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=277839&action=review > Source/WebCore/style/StyleTreeResolver.cpp:370 > auto& element = downcast<Element>(node); > + if (it.depth() > Settings::defaultMaximumRenderTreeDepth) { An empty line after auto& element would look nicer. Created attachment 277840 [details]
Patch
Comment on attachment 277840 [details] Patch Clearing flags on attachment: 277840 Committed r200301: <http://trac.webkit.org/changeset/200301> All reviewed patches have been landed. Closing bug. |
Created attachment 277795 [details] Test case See attached test case.