{inc}Text jumps without a cause, when clicking on the button

RESOLVED FIXED

Status

()

RESOLVED FIXED
13 years ago
6 years ago

People

(Reporter: martijn.martijn, Unassigned)

Tracking

({testcase})

Trunk
x86
Windows XP
testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [reflow-refactor], URL)

Attachments

(3 attachments)

(Reporter)

Description

13 years ago
This came from: http://forums.mozillazine.org/viewtopic.php?t=328340&highlight=

when clicking on the button on that page, the whole text shifts downwards, that
should not happen.
(Reporter)

Comment 1

13 years ago
Created attachment 199206 [details]
testcase
(Reporter)

Updated

13 years ago
Component: Layout → Layout: Tables
Keywords: testcase
It works as it should if the table is removed or gets style{width:XXpx} which
has to be wider than div #left + div #right

Comment 3

13 years ago
Created attachment 199328 [details]
reflow log

Comment 4

13 years ago
During the button down the outline causes an incremental reflow,
where the block returns a wrong maximumWidth at the end.

          block 0322CFB0 d=5235,1530 me=3705 m=0 

So what does this line say?
The block would like to occupy 5235 twips (d = desired width), and it should not
be shrinked below 3705 (me = MEW) and if the block had infinite space it would
occupy 0 twips!!! (m =maximumwidth)
I would say the incr. reflow with a float uses a block reflow code path which
does not update the maximumWidth, while it has been requested to do so from the
parent table cell.
The table cell is used to bogus .mMaximumWidth values, see line 996 in
nsTableCellFrame.cpp

// make sure the preferred width is at least as big as the max element width
if (aDesiredSize.mComputeMEW) {
  aDesiredSize.mMaximumWidth = PR_MAX(aDesiredSize.mMaximumWidth,
aDesiredSize.mMaxElementWidth);
}

and wraps to the MEW to mitigate the damage.

Comment 5

13 years ago
Created attachment 199331 [details]
testcase whithout interaction

The testcase just causes an incr. reflow without the outline mechanism.
Martijn, it would be interesting to see when it really regressed.

Comment 6

13 years ago
sending it over to block layout where IMHO it belongs.
Component: Layout: Tables → Layout: Block and Inline
QA Contact: layout → layout.block-and-inline
(Reporter)

Comment 7

13 years ago
(In reply to comment #5)
> Martijn, it would be interesting to see when it really regressed.
Well, it really regressed between 1.3a (2002-12-12) and 1.3 (2003-03-12)

Comment 8

13 years ago
I would bet a beer on bug 172896
(Reporter)

Comment 9

13 years ago
Seems related to bug 246669.
(Reporter)

Updated

13 years ago
Blocks: 318540
Summary: Text jumps without a cause, when clicking on the button → {inc}Text jumps without a cause, when clicking on the button
Whiteboard: [reflow-refactor]
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20061208 Minefield/3.0a1 ID:2006120812 [cairo]

Seems fixed after reflow branch landing
(Reporter)

Comment 11

12 years ago
Yeah, fixed by the reflow branch landing.
Both testcases indeed showed the bug in the 2006-12-06 build, but not anymore in the 2006-12-08 build.
Status: NEW → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → FIXED
(Reporter)

Updated

12 years ago
Depends on: 300030
Adding in-testsuite? nomination per bz's request in m.d.t.l. Sorry for the bugspam.
Flags: in-testsuite?
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.