Closed Bug 205564 Opened 22 years ago Closed 6 years ago

xml document tree viewer has very small nesting limit

Categories

(Core :: Layout, defect)

x86
All
defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: jhill, Assigned: hsivonen)

References

Details

(Keywords: testcase, Whiteboard: [fixed by bug 256180])

Attachments

(2 files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4b) Gecko/20030507 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4b) Gecko/20030507 when opening an xml file all tags and data nested more then 28 levels deep don't show up. No indication of this is given either. in my case the data was being generated on the server and it was some time before I realized the data was being truncated by mozilla and not the server. Reproducible: Always Steps to Reproduce: 1. 2. 3.
expected all 31 tags and hello world to show up in browser. instead mozilla stops at 28.
Attachment #123191 - Attachment mime type: text/plain → text/xml
The content is still there according to DOM Inspector, so this looks like a layout bug. Reassigning.
Assignee: heikki → other
Status: UNCONFIRMED → NEW
Component: XML → Layout
Ever confirmed: true
QA Contact: ashishbhatt → ian
Hmm.. that's actually about 200 levels of nesting there (the prettyprinter ends up generating nested <div>, <table>, <tr>, <td> tags for each tag in the original markup and that produces a block, table-outer frame, table-inner frame, rowgroup frame, row frame, cell frame, anonymous block frame). I'm pretty sure that this is running up against layout's stack overflow protection... That's set at 200 levels on non-Mac systems and 75 on Mac. There's not much to be done here short of not generating such a deep DOM and frame tree (if we didn't cut frame construction off there, we would be crashing instead as we overflowed the stack).
Depends on: 58917
The reason i created the <div><table><tr><td> was to get the +/- thing next to the elements, but let the element-text not wrap below the +/-. I.e. i want something like this: +-------- screen ---------+ | | + <elementName foo="bar" bar="foo" bin="big" hi="hello" If anyone can write up some css that does that (and the '+' still needs to be clickable) then it'd be easy to rewrite the XSLT stylesheet that prettyprint uses.
Keywords: testcase
OS: Windows XP → All
Attached patch wip1 (deleted) — Splinter Review
Something like this perhaps... all tables were removed, this takes us from a maximum frame depth of 206 to 97 for the attached testcase. I used <div><span><div> for the nesting, the last <div> is only needed for what I suspect is an IB bug - if I exclude the last <div> and toggle the <span> between display:none/block like I wanted, then the text node that follows is still on a new line.
No longer depends on: 58917
Depends on: 256180
*** Bug 304493 has been marked as a duplicate of this bug. ***
Assignee: layout → nobody
QA Contact: ian → layout

There is still a limit, but the limit is now larger.

Assignee: nobody → hsivonen
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: [fixed by bug 256180]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: