More fixes for the GTK2 file chooser.
Use a GtkWindow instead of a GdkWindow for parenting.
Simplify the pattern parsing.
Don't register a contract ID for the xul picker on GTK2 builds since the logic for determining which picker to use is handled by the native module constructor.
r+sr=bryner
File picker cleanup:
- Pressing enter now actives the save/open buttons.
- Fixes issue for clobber builds where the file chooser would not always get
registered. Unfortunately, this still can not be guaranteed to work because of
how XPCOM (mis)handles multiple components registered with the same contract
ID. See bug 253136.
- The native widget component factory constructor now handles the logic for
which implementation to choose. This allows me to remove the proxy logic from
the implementation itself.
- Remembers the last selected directory between invocations.
- Removes some debug stuff I forgot to remove.
- Gets rid of the static nsString cruft that got accidentally added while I was
copying over stuff from other implementations.
r+sr=blizzard