Closed
Bug 396983
Opened 18 years ago
Closed 18 years ago
nsXULPopupManager::ShowPopup (or callers) should flush frames
Categories
(Core :: XUL, defect)
Core
XUL
Tracking
()
RESOLVED
FIXED
People
(Reporter: Gavin, Assigned: enndeakin)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
6.07 KB,
patch
|
bzbarsky
:
review+
bzbarsky
:
superreview+
dbaron
:
approval1.9+
|
Details | Diff | Splinter Review |
See bug 395314: trying to unhide and then open a popup doesn't currently work without forcing frame construction or using a setTimeout hack. nsXULPopupManager::ShowPopup should probably FlushPendingNotifications().
Reporter | ||
Updated•18 years ago
|
Summary: nsXULPopupManager::ShowPopup callers should flush frames → nsXULPopupManager::ShowPopup (or callers) should flush frames
![]() |
||
Comment 1•18 years ago
|
||
Or nsPopuBoxObject::ShowPopup should if the other caller of nsXULPopupManager::ShowPopup can't deal.
Assignee | ||
Comment 2•18 years ago
|
||
Sounds like nsXULPopupManager::GetFrameOfTypeForContent could just take a shouldFlush argument which flushes before retrieving the frame.
Assignee | ||
Comment 3•18 years ago
|
||
Assignee: nobody → enndeakin
Status: NEW → ASSIGNED
Attachment #283469 -
Flags: superreview?(bzbarsky)
Attachment #283469 -
Flags: review?(bzbarsky)
Flags: blocking1.9? → blocking1.9-
Whiteboard: [wanted-1.9]
![]() |
||
Comment 4•18 years ago
|
||
Comment on attachment 283469 [details] [diff] [review]
flush the frames before showing a popup
A flush can run arbitrary script. In particular, the presshell can be dead here after the flush...
I assume all consumers are OK with random script running here, right?
Attachment #283469 -
Flags: superreview?(bzbarsky)
Attachment #283469 -
Flags: superreview-
Attachment #283469 -
Flags: review?(bzbarsky)
Attachment #283469 -
Flags: review-
Assignee | ||
Comment 5•18 years ago
|
||
(In reply to comment #4)
> (From update of attachment 283469 [details] [diff] [review])
> A flush can run arbitrary script. In particular, the presshell can be dead
> here after the flush...
Ah, yes. So it should be ok to keep a strong reference to the presshell right?
> I assume all consumers are OK with random script running here, right?
Yes, the callers are expecting synchronous event handling so scripts will already be exected to run.
![]() |
||
Comment 6•18 years ago
|
||
> Ah, yes. So it should be ok to keep a strong reference to the presshell right?
Yeah, I think that should be enough.
Assignee | ||
Comment 7•18 years ago
|
||
Attachment #283469 -
Attachment is obsolete: true
Attachment #283761 -
Flags: superreview?(bzbarsky)
Attachment #283761 -
Flags: review?(bzbarsky)
![]() |
||
Comment 8•18 years ago
|
||
Comment on attachment 283761 [details] [diff] [review]
keep a strong reference to the presshell
r+sr=bzbarsky
Attachment #283761 -
Flags: superreview?(bzbarsky)
Attachment #283761 -
Flags: superreview+
Attachment #283761 -
Flags: review?(bzbarsky)
Attachment #283761 -
Flags: review+
Assignee | ||
Updated•18 years ago
|
Attachment #283761 -
Flags: approval1.9?
Comment on attachment 283761 [details] [diff] [review]
keep a strong reference to the presshell
a1.9=dbaron
Attachment #283761 -
Flags: approval1.9? → approval1.9+
Assignee | ||
Updated•18 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Updated•18 years ago
|
Flags: wanted1.9+
Whiteboard: [wanted-1.9]
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.
Description
•