Closed Bug 234673 Opened 20 years ago Closed 20 years ago

Select form element gets doubled while scrolling

Categories

(Core :: Web Painting, defect, P3)

x86
Windows 2000
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: mcsmurf, Assigned: roc)

References

()

Details

(Keywords: regression, testcase)

Attachments

(3 files)

When pressing the drop-down button in a select form element with many entries
and scrolling with the coursor keys up and down, the select element appears
again some pixels more on the left.
To reproduce go to the URL and scroll up and down in the extended select element
in the right down corner of the page. This bug seems not to be related to form
elements only, since in a simplified testcase i couldn't reproduce this.
This regressed between 2004-01-29-16 and 2004-02-01-16
Please do NOT file layout bugs as NEW without a reduced testcase, Frank.

Probably fallout from bug 109772, but hard to tell without that testcase....
Assignee: nobody → roc
Component: Layout: Form Controls → Layout: View Rendering
Keywords: qawanted
QA Contact: core.layout.form-controls → ian
Attached file Reduced testcase
Attached file Reduced testcase
Hmm. The dropdown native widget is being temporarily moved during reflow. This
is indeed 109772, in particular, the removal of the IgnoreSetPosition hack.
This needs widget change caching and won't happen for 1.7final.
Depends on: 238493
Priority: P2 → P3
Keywords: qawantedtestcase
This bug only seems to manifest in block table elements containing SELECT forms
(excluding SELECT MULTIPLE) regardless of rendering mode.  In order to activate
the behavior, the following conditions must be met:

1. The FORM element must exist inside a cell in a block-level table, _or_ the
FORM element itself must be styled with the CSS 'display' property as table,
table-cell, table-footer-group, table-header-group, or table-row-group.

2. Apply the CSS 'width' and 'margin' (or 'margin-left' or 'margin-right')
properties to the SELECT element. Width must be > 80% and <= 100%. One must
specify the margin value in length units and 'width' in percentage units.
Setting a width of 100% allows for the most dramatic changes.

To test the behavior, start selecting menu items. Each selection causes the
form to expand horizontally in increments equal to the declared margin up to a
threshold determined by the width setting. Note that the threshold isn't what
you might expect (e.g., "width:100%" doesn't result in a threshold of 100% of
viewport).
Comment on attachment 154875 [details]
testcase with form "growing" in 9px increments

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
	<title>Growing form behavior</title>
</head>

<body>
<table><td>
	<form action="">
		<p>
			<select style="margin-right:9px;width:100%;">
				<option>1</option>
				<option>2</option>
				<option>3</option>
			</select>
		</p>
	</form></td>
</table>
</body>
</html>
This bug was fixed by the checkin for bug 238493.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
*** Bug 284618 has been marked as a duplicate of this bug. ***
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: