Persona is no longer an option for authentication on BMO. For more details see Persona Deprecated.
Last Comment Bug 638430 - <select> doesn't render correctly in iframe within a panel where we use swapFrameLoaders on it!
: <select> doesn't render correctly in iframe within a panel where we use swapF...
[blocks jetpack]
Product: Core
Classification: Components
Component: XP Toolkit/Widgets: XUL (show other bugs)
: Trunk
: All All
: -- normal (vote)
: mozilla7
Assigned To: Timothy Nikkel (:tnikkel)
: Neil Deakin
Depends on:
Blocks: 449734 633854 649144
  Show dependency treegraph
Reported: 2011-03-03 06:53 PST by Alexandre Poirot [:ochameau]
Modified: 2011-06-06 06:29 PDT (History)
16 users (show)
mounir: in‑testsuite?
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Minimal testcase that can be run in js console (1.83 KB, text/javascript)
2011-03-03 06:53 PST, Alexandre Poirot [:ochameau]
no flags Details
patch (6.24 KB, patch)
2011-05-28 11:23 PDT, Timothy Nikkel (:tnikkel)
roc: review+
Details | Diff | Splinter Review

Description Alexandre Poirot [:ochameau] 2011-03-03 06:53:21 PST
Created attachment 516585 [details]
Minimal testcase that can be run in js console

The title tells all the story.
This error, having <select> not working in a panel, only happens when you get all these conditions:
- a panel
- with an iframe inside of it
- another iframe anywhere else
- a <select> inside of this second iframe
- and you are swaping iframe content with swapFrameLoaders from the second iframe to the first one that is in the panel.

Just to be clear, <select> are working fine in panel, even inside an iframe.

I've added that this platform bug is blocking addon-sdk bug 633854, 
but we may try to find some simplier alternative to avoid this current one.
Comment 1 Boris Zbarsky [:bz] (still a bit busy) 2011-03-03 08:35:11 PST
Presumably a regression from bug 449734: we're not reparenting the combobox widget.

Of course the fix to lazily create those widgets would fix this too...
Comment 2 Myk Melez [:myk] [@mykmelez] 2011-03-31 22:01:39 PDT
Boris: any thoughts on when this might get fixed?  A fix would be really handy for addon developers, who use popup panels with HTML forms containing select menus to solicit preferences from addon users.
Comment 3 Boris Zbarsky [:bz] (still a bit busy) 2011-04-01 05:13:32 PDT
Now that bug 610391 landed, I would expect this is fixed.  Is it not?
Comment 4 Boris Zbarsky [:bz] (still a bit busy) 2011-04-01 05:14:31 PDT
And are the addon developers in question seriously using swapFrameLoaders?
Comment 5 Myk Melez [:myk] [@mykmelez] 2011-04-01 11:51:13 PDT
Based on Alex's testcase in comment 0, it looks like this is still broken.

Alex: can you test again and confirm?

Boris: it isn't the addon developers who are using swapFrameLoaders; the API implementers are using them under-the-covers as part of the implementation of the Panels API.
Comment 6 Boris Zbarsky [:bz] (still a bit busy) 2011-04-01 11:57:07 PDT
> Based on Alex's testcase in comment 0, it looks like this is still broken.

Ah, indeed.  In that case, I'm not sure what's going on here.
Comment 7 Alexandre Poirot [:ochameau] 2011-04-01 12:39:22 PDT
No it's still buggy on today's windows nightly.
Comment 8 Timothy Nikkel (:tnikkel) 2011-04-06 11:31:32 PDT
Determining exactly what broke this would be useful. There seems to be a large range of nightlies (somewhere in sept 2010 to around jan 2011) where the testcase doesn't open a panel at all so I can't narrow it down.
Comment 9 Anthony Hughes (:ashughes) [GFX][QA][Mentor] 2011-05-27 12:59:08 PDT
Any change with the latest Nightly?
Comment 10 Timothy Nikkel (:tnikkel) 2011-05-28 11:23:23 PDT
Created attachment 535874 [details] [diff] [review]

Ehsan's work to only create dropdown widgets when we open the dropdown probably fixed most of this already. But it is not completely fixed.

If we swap frame loaders while a dropdown is open we'll probably still have bugs, but I doubt it matters.

We weren't computing the display root view correctly (the frame version was correct). We were looking for a floating view that is a child of a non-floating view. But when we have a dropdown in a panel the dropdown is the display root but its parent is floating (because floating-ness gets propagated to all child views, more or less).
Comment 11 Timothy Nikkel (:tnikkel) 2011-05-28 13:01:01 PDT
(In reply to comment #10)
> (because floating-ness gets propagated to all child views, more or less).

It doesn't always get propagated, but the view removing/inserting that swapping the frame loaders does I guess means that it gets propagated.
Comment 12 Robert O'Callahan (:roc) (email my personal email if necessary) 2011-05-29 14:21:26 PDT
Comment on attachment 535874 [details] [diff] [review]

Review of attachment 535874 [details] [diff] [review]:
Comment 13 Timothy Nikkel (:tnikkel) 2011-05-29 20:17:09 PDT
Comment 14 Mounir Lamouri (:mounir) 2011-05-30 06:01:37 PDT

Note You need to log in before you can comment on or make changes to this bug.