Closed Bug 363247 Opened 18 years ago Closed 16 years ago

absolutely positioned table does not reflow properly after stylesheet change

Categories

(Core :: Layout, defect, P2)

defect

Tracking

()

VERIFIED FIXED
mozilla1.9.1b3

People

(Reporter: ajschult784, Assigned: dbaron)

References

Details

(Keywords: testcase, verified1.9.0.14, verified1.9.1)

Attachments

(4 files, 1 obsolete file)

With linux seamonkey build 2006-12-08-10-trunk, a table with position:absolute does not reflow properly after a change in the stylesheet. Changing the font size via the DOM directly (style.fontSize in the testcase I'll attach) does not cause any problems.
Attached file testcase (deleted) —
With current trunk the table cells to not resize after the font size change, so "foo" and "bar" overlap.
This was already wrong before the reflow branch landed
Blocks: 476357
This is a bug in our enqueueing of style change reflows; we need to do the same work for out-of-flows outside the subtree.
Assignee: nobody → dbaron
Status: NEW → ASSIGNED
Component: Layout: Tables → Layout: Misc Code
QA Contact: layout.tables → layout.misc-code
Attached patch patch (obsolete) (deleted) — Splinter Review
This fixes this bug; I'd like to look into why it doesn't fix bug 476357 a drop more before requesting review. And actually I might want to make it a loop rather than recursive...
Attached patch patch (deleted) — Splinter Review
Attachment #360392 - Attachment is obsolete: true
Attachment #360402 - Flags: superreview?(bzbarsky)
Attachment #360402 - Flags: review?(bzbarsky)
Attached patch diff -w of nsPresShell.cpp (deleted) — Splinter Review
No longer blocks: 476357
Attachment #360402 - Flags: superreview?(bzbarsky)
Attachment #360402 - Flags: superreview+
Attachment #360402 - Flags: review?(bzbarsky)
Attachment #360402 - Flags: review+
Comment on attachment 360402 [details] [diff] [review] patch >+++ nsPresShell.cpp 2009-02-03 16:11:12.000000000 -0800 >+ nsTArray<nsIFrame*> subtrees; Maybe nsAutoTArray? Of size at least 1, but maybe pick a random number that should work in "most" cases? And change the other nsTArray (for the descendants) to nsAutoTArray too, maybe? >+ nsPlaceholderFrame *ph = static_cast<nsPlaceholderFrame*>(f); >+ nsIFrame *oof = ph->GetOutOfFlowFrame(); nsIFrame *oof = nsPlaceholderFrame::GetRealFrameForPlaceholder(f); r+sr=bzbarsky with that.
Comment on attachment 360402 [details] [diff] [review] patch This is a pretty nasty dynamic change handling bug that I'm surprised we haven't gotten more reports of (or maybe we have, and just haven't connected them to it). I think we should get this on 1.9.1.
Attachment #360402 - Flags: approval1.9.1?
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
OS: Linux → All
Priority: -- → P2
Hardware: x86 → All
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.2a1
Depends on: 477294
Blocks: 430569
So my inclination is to just land it on 1.9.1 either without the assertion, or with the assertion changed to a warning, given that: * we've hit the assertion in two separate bugs * the assertion is really only saying that the caller is doing something that didn't especially make sense, and as a result we're doing a little extra work or not quite enough
Attachment #360402 - Flags: approval1.9.1? → approval1.9.1+
[2009-02-12 12:58:40] <dbaron> bz, does https://bugzilla.mozilla.org/show_bug.cgi?id=363247#c10 make sense to you? [2009-02-12 12:59:56] <bz> dbaron: yes [2009-02-12 13:00:07] <bz> dbaron: no assert on 1.9.1 sounds ok to me
Whiteboard: fixed1.9.1
Target Milestone: mozilla1.9.2a1 → mozilla1.9.1b3
Keywords: fixed1.9.1
Whiteboard: fixed1.9.1
verified FIXED on builds: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2a1pre) Gecko/20090413 Minefield/3.6a1pre ID:20090413031052 and Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2a1pre) Gecko/20090413 Minefield/3.6a1pre ID:20090413031052
Status: RESOLVED → VERIFIED
ack, here's the build ID for Shiretoko Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1b4pre) Gecko/20090413 Shiretoko/3.5b4pre ID:20090413031313
dbaron: does this patch apply to 1.9.0? we need this to fix bug 430569
Flags: wanted1.9.0.x+
Flags: blocking1.9.0.14+
Attached patch 1.9.0 patch (deleted) — Splinter Review
It applies cleanly to CVS (the only merging required was the reftest.list), and fixes this bug in CVS (by testing attachment 248051 [details] with and without the patch). I think it should be safe. However, I can't reproduce bug 430569 even without the patch, so I can't tell if it fixes that on CVS.
Attachment #393417 - Flags: approval1.9.0.14?
Attachment #393417 - Flags: approval1.9.0.14? → approval1.9.0.14+
Comment on attachment 393417 [details] [diff] [review] 1.9.0 patch Approved for 1.9.0.14. a=ss
Checked in to CVS HEAD for 1.9.0.14, 2009-08-10 10:29/30 -0700.
Keywords: fixed1.9.0.14
Verified for 1.9.0.14 using attached testcase and Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.14pre) Gecko/2009081305 GranParadiso/3.0.14pre (.NET CLR 3.5.30729).
Product: Core → Core Graveyard
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: