Closed
Bug 283117
Opened 20 years ago
Closed 20 years ago
[FIX] SELECT doesn't display all options from source
Categories
(Core :: Layout: Form Controls, defect, P1)
Tracking
()
RESOLVED
FIXED
People
(Reporter: ajschult784, Assigned: MatsPalmgren_bugz)
References
Details
(Keywords: regression, testcase)
Attachments
(2 files, 4 obsolete files)
4.88 KB,
text/html
|
Details | |
9.65 KB,
patch
|
bzbarsky
:
review+
bzbarsky
:
superreview+
|
Details | Diff | Splinter Review |
With linux trunk build 2005022105, many of the milestones are missing from the
SELECT dropdown on bug pages. It seems important for one of the options to have
the "selected" attribute.
This regressed between linux trunk 2005021905 and 2005022005, indicating a
regression from bug 282607.
Reporter | ||
Comment 1•20 years ago
|
||
the dropdown in this page often only contains "M1" and "Future". Other times,
it will contain all items. (reload to hit the bug)
Reporter | ||
Comment 2•20 years ago
|
||
oops. the previous attachment was without the "selected" attribute.
Attachment #175097 -
Attachment is obsolete: true
![]() |
||
Updated•20 years ago
|
Flags: blocking1.8b2?
Assignee | ||
Comment 3•20 years ago
|
||
Yep, this is a regression from bug 282607. I will have a fix later today.
Assignee | ||
Comment 4•20 years ago
|
||
We need to flush out any pending frames first, so they don't get redirected
as well. (They ended up at the mDisplayFrame Overflow-list).
I also moved the whole redirection thing closer around the code that actually
updates the text to avoid flushing if we don't need to.
Attachment #175218 -
Flags: superreview?(bzbarsky)
Attachment #175218 -
Flags: review?(bzbarsky)
Assignee | ||
Updated•20 years ago
|
Summary: SELECT doesn't display all options from source → [FIX] SELECT doesn't display all options from source
![]() |
||
Comment 5•20 years ago
|
||
Comment on attachment 175218 [details] [diff] [review]
Patch rev. 1
Flush_Frames can destroy |this| (and when called on the document like this can
also destroy our presshell, etc); calling it from inside frame code is no good.
That call needs to happen before we enter frame code.
Attachment #175218 -
Flags: superreview?(bzbarsky)
Attachment #175218 -
Flags: superreview-
Attachment #175218 -
Flags: review?(bzbarsky)
Attachment #175218 -
Flags: review-
Assignee | ||
Comment 6•20 years ago
|
||
There are three paths leading up to nsComboboxControlFrame::RedisplayText():
nsHTMLSelectElement::InsertOptionsIntoList()
nsHTMLSelectElement::RemoveOptionsFromList()
nsHTMLOptionElement::NotifyTextChanged()
I added Flush_Frames to all of those instead.
Backing out bug 282607 is also a solution - your call.
Attachment #175218 -
Attachment is obsolete: true
Attachment #175238 -
Flags: superreview?(bzbarsky)
Attachment #175238 -
Flags: review?(bzbarsky)
![]() |
||
Comment 7•20 years ago
|
||
This will cause content sink flushes and such on every option added to a select,
no? Just looking at the callers of InsertOptionsIntoList()....
That seems undesirable. Either we should be smarter about when we actually need
to flush, or we should come up with a better solution here in general.
One other option would be to mess with the anonymous content off an event
instead of synchronously. As things stand, we're reentering frame construction
from inside frame construction, right?
Assignee | ||
Comment 8•20 years ago
|
||
Comment on attachment 175238 [details] [diff] [review]
Patch rev. 2
(In reply to comment #7)
> One other option would be to mess with the anonymous content off an event
> instead of synchronously. As things stand, we're reentering frame construction
> from inside frame construction, right?
Yes. I will try using an event.
Attachment #175238 -
Attachment is obsolete: true
Attachment #175238 -
Flags: superreview?(bzbarsky)
Attachment #175238 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 9•20 years ago
|
||
Attachment #175672 -
Flags: superreview?(bzbarsky)
Attachment #175672 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 10•20 years ago
|
||
*** Bug 283953 has been marked as a duplicate of this bug. ***
![]() |
||
Comment 11•20 years ago
|
||
Comment on attachment 175672 [details] [diff] [review]
Patch rev. 3
r+sr=bzbarsky (though note that we could avoid the mComboboxControlFrame member
by just using the owner, if desired).
Attachment #175672 -
Flags: superreview?(bzbarsky)
Attachment #175672 -
Flags: superreview+
Attachment #175672 -
Flags: review?(bzbarsky)
Attachment #175672 -
Flags: review+
Assignee | ||
Comment 12•20 years ago
|
||
Using the event owner instead of a member.
Assignee | ||
Updated•20 years ago
|
Attachment #175672 -
Attachment is obsolete: true
Attachment #176459 -
Flags: review?(bzbarsky)
![]() |
||
Comment 13•20 years ago
|
||
Comment on attachment 176459 [details] [diff] [review]
Patch rev. 4
>Index: layout/forms/nsComboboxControlFrame.cpp
>+ NS_STATIC_CAST(nsComboboxControlFrame*, PL_GetEventOwner(this)) ->
NS_STATIC_CAST(nsComboboxControlFrame*, owner)
should work just fine. ;)
r+sr=bzbarsky with that.
Attachment #176459 -
Flags: superreview+
Attachment #176459 -
Flags: review?(bzbarsky)
Attachment #176459 -
Flags: review+
![]() |
||
Comment 14•20 years ago
|
||
*** Bug 284969 has been marked as a duplicate of this bug. ***
Assignee | ||
Comment 15•20 years ago
|
||
Checked in (using plain 'owner') at 2005-03-20 17:58 PDT
-> FIXED
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Comment 16•20 years ago
|
||
This fix seems to have caused regression Bug 288821 Select cleared on reload.
Updated•20 years ago
|
Flags: blocking1.8b2?
You need to log in
before you can comment on or make changes to this bug.
Description
•