Open Bug 206945 Opened 21 years ago Updated 2 years ago

Width of cells in a grid computed incorrectly when javascript changes contents of the grid

Categories

(Core :: XUL, defect)

x86
Windows 2000
defect

Tracking

()

People

(Reporter: sacha, Unassigned)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.4a) Gecko/20030401
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; ru-RU; rv:1.4a) Gecko/20030401

In the example below the script adds text nodes to descriptions.
The descriptions are in a grid.

File "test.xul":
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="test.css" type="text/css"?>
<!DOCTYPE window>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        orient="vertical" align="start">
   <script src="test.js"/>
   <grid>
    <columns>
     <column/>
     <column/>
     <column/>
     <column/>
     <column/>
    </columns>
    <rows id="rows">
     <row>
      <description>test</description>
      <description>test</description>
      <description>test</description>
      <description>test</description>
      <description>test</description>
     </row>
     <row>
      <description/>
      <description/>
      <description/>
      <description/>
      <description/>
     </row>
     <row>
      <description/>
      <description/>
      <description/>
      <description/>
      <description/>
     </row>
    </rows>
   </grid>
   <button label="Push Me" onclick="doThat()"/>
</window>

File "test.js":
function doThat() {
	var rows = document.getElementById("rows");
	var cells = rows.childNodes[1].childNodes;
	cells[0].appendChild(document.createTextNode("testing_test"));
	cells[1].appendChild(document.createTextNode("1"));
	cells[2].appendChild(document.createTextNode("2"));
	cells[3].appendChild(document.createTextNode("30"));
	cells[4].appendChild(document.createTextNode("201"));
	var cells = rows.childNodes[2].childNodes;
	cells[0].appendChild(document.createTextNode("test"));
	cells[1].appendChild(document.createTextNode("2"));
	cells[2].appendChild(document.createTextNode("test_2"));
	cells[3].appendChild(document.createTextNode("3"));
	cells[4].appendChild(document.createTextNode("testing_test"));
}

File "test.css" (for the clearness):
grid {
  background-color:green;
}
grid row * {
  margin:2px;
  background-color:yellow;
}
description {
  font-size:14pt;
}


Reproducible: Always

Steps to Reproduce:
1. Save the files "test.xul", "test.js". "test.css" in the same folder on your
hard drive.
2. Start mozilla.
3. Open file "test.xul".
4. Push "Push Me" button.

Actual Results:  
Width of the cells are different for different rows.

Expected Results:  
The cells, that belong to the same column, should have the same width.
I can confirm this behavior. I'm sorry to say I don't know if the result is the
expected one or not, over to layout for triage.
Assignee: general → other
Status: UNCONFIRMED → NEW
Component: Browser-General → Layout
Ever confirmed: true
QA Contact: general → ian
Summary: Width of cells in a grid computes not correctly when javascript changes content of the grid → Width of cells in a grid computed incorrectly when javascript changes contents of the grid
->xul
Assignee: other → hyatt
Component: Layout → XP Toolkit/Widgets: XUL
QA Contact: ian → shrir
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: shrir → xptoolkit.widgets
Assignee: hyatt → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: