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.)
Created attachment 207652 [details]
XUL file displaying the problem (needs to be loaded as chrome)
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
Would it be possible for you to narrow down a regression range using the builds at ftp.mozilla.org/archive.mozilla.org ?
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.
GetListBoxBody is returning null here:
because GetFrame returns null at:
because mPresShell is null at:
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...
> Hmm... so how do I test?
I included it into an XPI, installed and loaded from chrome.
Created attachment 207813 [details]
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...
Fixed on trunk by bug 282105
Fixed on branches too, by bug 282105
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.
v.fixed on 1.8.0 branch with Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:18.104.22.168) Gecko/20060224 Firefox/22.214.171.124, installed extension and both xul files show correct row count of 2 (based on steps in comment #8).
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.