Closed
Bug 53251
Opened 24 years ago
Closed 24 years ago
{ib} reframe breaks with block-in-inline
Categories
(Core :: Layout, defect, P4)
Core
Layout
Tracking
()
VERIFIED
FIXED
mozilla0.9
People
(Reporter: waterson, Assigned: waterson)
Details
(Keywords: css1, testcase)
Attachments
(2 files)
(deleted),
text/html
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review |
To reproduce, see attached test case, which will force a re-frame by toggling
the style of the <body> from "display: block" to "display: inline":
1. Load test case.
2. Click "Reframe!"
3. Click "Reframe!"
Expected behavior: after 2nd click, button should move back to its original
position.
Actual behavior: a "phantom" button is created!
Assignee | ||
Comment 1•24 years ago
|
||
Assignee | ||
Comment 2•24 years ago
|
||
Keyword spam. Nominating for nsbeta3, p4 because I *have* seen this -- or
something like this -- occasionally happen on bugzilla (which IIRC has some
block-in-inline stuff happening).
Assignee | ||
Comment 3•24 years ago
|
||
er, meant to assign to self.
Assignee: clayton → waterson
Status: ASSIGNED → NEW
Assignee | ||
Updated•24 years ago
|
Status: NEW → ASSIGNED
Comment 4•24 years ago
|
||
This is a bit scary! :-|
Comment 5•24 years ago
|
||
Netscape's standard compliance QA team reorganised itself once again, so taking
remaining non-tables style bugs. Sorry about the spam. I tried to get this done
directly at the database level, but apparently that is "not easy because of the
shadow db", "plus it screws up the audit trail", so no can do...
QA Contact: chrisd → ian
Assignee | ||
Updated•24 years ago
|
Target Milestone: M18 → mozilla0.9
Assignee | ||
Comment 6•24 years ago
|
||
Assignee | ||
Comment 7•24 years ago
|
||
The problem here was that RecreateFramesForContent() calls ContentRemoved().
This detects that the child frame is actually ``special'' (block-in-inline), so
it does a ReframeContainingBlock(), which actually *recreates* the frames we're
trying to remove! Then, when RecreateFramesForContent() calls ContentInserted(),
we end up creating the frames again!
The fix is to notice we're about to RecreateFrameForContent() on a ``special''
frame, and just do one ReframeContainingBlock(). (Also supplied a bit on
nsCOMPtr love.)
Keywords: patch
Comment 8•24 years ago
|
||
r=karnaze, please run block and table regression tests.
Comment 9•24 years ago
|
||
sr=attinasi
Assignee | ||
Comment 10•24 years ago
|
||
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Comment 11•24 years ago
|
||
Filed bug 74951 on an additional problem with the testcase.
Comment 12•22 years ago
|
||
testcase fails, but at least there's no double button. VERIFIED.
Status: RESOLVED → VERIFIED
You need to log in
before you can comment on or make changes to this bug.
Description
•