Can't getRowCount() in listbox in prefwindow

RESOLVED FIXED

Status

()

Core
XUL
RESOLVED FIXED
12 years ago
9 years ago

People

(Reporter: Matthew Wilson, Assigned: bz)

Tracking

({fixed1.8.1, testcase, verified1.8.0.2})

Trunk
x86
Windows XP
fixed1.8.1, testcase, verified1.8.0.2
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [rft-dl], URL)

Attachments

(2 attachments)

(Reporter)

Description

12 years ago
Inside a <prefwindow type="prefwindow">, calling getRowCount() on a listbox returns 0, even when the row count is not 0.

Inside a <prefwindow type="child">, getRowCount() returns the correct result.

(Bug 298632 also refers to a listbox inside a prefwindow, but it is not obvious that it is the same problem.)
(Reporter)

Comment 1

12 years ago
Created attachment 207652 [details]
XUL file displaying the problem (needs to be loaded as chrome)
(Reporter)

Comment 2

12 years ago
Fails in Firefox 1.5 and in Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060105 Firefox/1.6a1
Keywords: testcase
Would it be possible for you to narrow down a regression range using the builds at ftp.mozilla.org/archive.mozilla.org ?
(Reporter)

Comment 4

12 years ago
I don't have a build in which it worked. I don't have any evidence that it ever worked since the preference rework. So that sounds like a rather large task.
Component: Preferences → XP Toolkit/Widgets: XUL
Product: Firefox → Core
QA Contact: preferences → xptoolkit.xul
GetListBoxBody is returning null here:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsListBoxObject.cpp&rev=1.1&mark=106#103
because GetFrame returns null at:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsListBoxObject.cpp&rev=1.1&mark=224#210
because mPresShell is null at:
http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/layout/xul/base/src/nsBoxObject.cpp&rev=1.52&mark=167#164

I don't know enough about this to know why this is happening.
Hmm... so how do I test?  If I just load the file as -chrome (with a file:// URI) nothing useful happens.

mPresShell can be null for a boxObject generally if the node got removed from the DOM or something...
(Reporter)

Comment 7

12 years ago
> Hmm... so how do I test? 

I included it into an XPI, installed and loaded from chrome.
Created attachment 207813 [details]
test extension

Steps to reproduce:
1) Install this extension in Firefox (click the link, or download the file and drag it to the Firefox Extension Manager, Tools->Extensions).
2) Restart Firefox.
3) Go to chrome://test/content/txul.xul .
4) Click the "Count items" button. See an alert of "0" (bug).
5) Go to chrome://test/content/wxul.xul .
6) Click the "Count items" button. See an alert of "2" (as expected).

Both XUL files are essentially the same as attachment 207652 [details], except that the one from step 5 is a <prefwindow type="child"> whereas the one from step 3 is a <prefwindow type="prefwindow">. <prefwindow type="foo"> behaves the same way as <prefwindow type="prefwindow">, so I think "child" is the only value of the "type" attribute that makes it work. I don't see anything at http://landfill.mozilla.org/mxr-test/seamonkey/search?string=prefwindow&find=css&filter=child that would have an effect on this.
Ah, I see.  This is basically bug 282105.  I think I outlined the right way to fix this in that bug...
Depends on: 282105
Fixed on trunk by bug 282105
Assignee: nobody → bzbarsky
Status: NEW → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → FIXED
Fixed on branches too, by bug 282105
Keywords: fixed-aviary1.0.8, fixed1.7.13, fixed1.8.0.2, fixed1.8.1
I was trying to verify this on 1.0.8, but when I try to load the test extension it gives me a chrome registration error. I could use some help with another strategy to verify.
(In reply to comment #12)
> I was trying to verify this on 1.0.8, but when I try to load the test extension
> it gives me a chrome registration error. I could use some help with another
> strategy to verify.

None of the testcases in this bug will run in 1.0.8, because prefwindow didn't exist then. I'm not sure what Boris meant by adding the fixed-aviary/fixed1.7.13 keywords here. At least as summarized, this bug didn't exist on those branches, so I don't think the fact that bug 282105 was checked in on the branches is relevant to this bug.

Updated

11 years ago
Whiteboard: [rft-dl]

Comment 14

11 years ago
v.fixed on 1.8.0 branch with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.1) Gecko/20060224 Firefox/1.5.0.1, installed extension and both xul files show correct row count of 2 (based on steps in comment #8).
Keywords: fixed1.8.0.2 → verified1.8.0.2

Comment 15

11 years ago
Since I can't access bug #282105, can someone tell me if this will carry over to TB. I'm seeing oddities with prefpanes src'd from a prefwindow not generating menupopups from RDF (most of the time).
Removing aviary/moz17 fixed keywords per comment 13.
Keywords: fixed-aviary1.0.8, fixed1.7.13

Updated

9 years ago
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: xptoolkit.xul → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.