Closed Bug 32199 Opened 25 years ago Closed 2 years ago

(XUL only) visibility:collapse is not being interpreted as hidden on block and inline level elements

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

RESOLVED WONTFIX
Future

People

(Reporter: ian, Unassigned)

References

()

Details

(Keywords: css2, regression, testcase, Whiteboard: [awd:tbl] [nsbeta3-])

Attachments

(4 files)

The 'visibility' property's value 'collapse' is not being interpreted as 'hidden' when applied to elements that are not rows, row groups, columns, or column groups. Test cases: Most 'display' types: http://www.bath.ac.uk/~py8ieh/m/visible-collapse.html 'block': http://www.bath.ac.uk/~py8ieh/m/visible-collapse-blocks.html 'inline': http://www.bath.ac.uk/~py8ieh/m/visible-collapse-inlines.html 'cell': http://www.bath.ac.uk/~py8ieh/m/visible-collapse-cells.html 'table': http://www.bath.ac.uk/~py8ieh/m/visible-collapse-tables.html
Keywords: css2, regression
It's mostly fixed. The page at the URL above now works correctly except for cell & table. The remaining problems are dups of bug 21701: we should review the use of display->IsVisibleOrCollapsed() and in some cases change it to display-> IsVisible() in the following files: nsTableCellFrame nsTableColFrame nsTableColGroupFrame nsTableFrame nsTableRowFrame nsTableRowGroupFrame See bug 21701 for more info. I'm not closing the present bug yet. I prefer to reassign it to karnaze: it will allow him to work on the files above while buster takes care of the other ones.
Assignee: pierre → karnaze
Depends on: 21701
Status: NEW → ASSIGNED
Target Milestone: --- → M17
Adding testcase keyword so this doesn't show up on the bugathon search page.
Keywords: testcase
Changing testcase to donttest. Bernd: FYI, this is the "correct" way to keep a bug off the BugAThon radar if no test case is needed. (See the Keywords definition list for more info.) But you had the right idea--thanks for your help!
Keywords: testcasedonttest
Keywords: testcase
Denying beta3 approval.
Whiteboard: [nsbeta3-]
Target Milestone: M17 → Future
Taking QA per managerial policy.
QA Contact: chrisd → py8ieh=bugzilla
Ian, your testcases are not visible could you attach them to the bug
(test cases are back, it was a transient server problem)
Whiteboard: [nsbeta3-] → [awd:tbl] [nsbeta3-]
So is the fact that I see red-bordered blocks in the cell and table testcases evidence of this bug? The blocks are otherwise empty.
Yes, red = bad in my tests.
Okay, thanks; just checking. Reconfirmed using FizzillaCFM/2002071208. Setting All/All.
OS: Windows 98 → All
Hardware: PC → All
I just want to add that I am having this problem in XUL too. Also, on some XUL code I have, CPU goes to 100% when I try to set a block of code to hidden. I can't make a small testcase at the moment :-(
taking the bug
Assignee: karnaze → bernd.mielke
Status: ASSIGNED → NEW
Attached patch patchSplinter Review
Attachment #108587 - Flags: superreview?(dbaron)
Attachment #108587 - Flags: review?(karnaze)
the patch has also some CallQueryInterface cleanup, from a quick search http://lxr.mozilla.org/seamonkey/search?string=IsVisibleOrCollapsed I believe a lot if not all callers of this function are wrong.
Status: NEW → ASSIGNED
Comment on attachment 108587 [details] [diff] [review] patch Other than these two changes, sr=dbaron. (I don't really object to the commented code, either, although it would be good to say why it's there. But if you want me to sr the other bit, you'd better explain what it's fixing. I'm assuming these were just included by accident.) >@@ -2212,6 +2212,8 @@ > SetResizeReflow(PR_TRUE); > } > } >+ //aDoCollapse = PR_TRUE; >+ > return rv; > } > >@@ -3310,7 +3312,6 @@ > if (NS_FRAME_IS_COMPLETE(aStatus) && isPaginated && > (NS_UNCONSTRAINEDSIZE != kidReflowState.availableHeight)) { > nsIFrame* nextKid = (childX + 1 < numRowGroups) ? (nsIFrame*)rowGroups.ElementAt(childX + 1) : nsnull; >- pageBreak = PageBreakAfter(*kidFrame, nextKid); > } > // Place the child > PlaceChild(aPresContext, aReflowState, kidFrame, desiredSize);
Attachment #108587 - Flags: superreview?(dbaron) → superreview+
I don't even see why we should have an |IsVisibleOrCollapsed| method. Feel free to reassign this to me after you land the patch if you want me to finish cleaning it up.
David, you are so right, this is cruft. I feel save enough to fix the layout callers too, but xul is beyond my scope
Comment on attachment 108587 [details] [diff] [review] patch Please remove the following from your patch, otherwise it will break page-break-after - pageBreak = PageBreakAfter(*kidFrame, nextKid);
Attachment #108587 - Flags: review?(karnaze) → review+
Attached file xul testcase
Attached file html testcase
I checked the patch in. I could not create a testcase proving that the remaining occurences are really causing trouble. Before I damage something that I dont understand I give this bug back.
Assignee: bernd_mozilla → dbaron
Status: ASSIGNED → NEW
The bug doesn't show for me with the HTML testcase, only the XUL testcase.
The bug doesn't show for me with the HTML testcase, only the XUL testcase (build 2003060308 WinXP)
Summary: visibility:collapse is not being interpreted as hidden on block and inline level elements → (XUL only) visibility:collapse is not being interpreted as hidden on block and inline level elements
Assignee: dbaron → nobody
QA Contact: ian → style-system
Attached file testcase3
Also the flash plugin still shows up in this case.
Component: Style System (CSS) → Layout: Misc Code
QA Contact: style-system → layout.misc-code
Product: Core → Core Graveyard
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
Severity: normal → S3

Is this still relevant with flex emulation?

Flags: needinfo?(emilio)

not really

Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(emilio)
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: