Beginning on October 25th, 2016, Persona will no longer be an option for authentication on BMO. For more details see Persona Deprecated.
Last Comment Bug 67161 - Need `progress' type for windows
: Need `progress' type for windows
Status: NEW
Product: Core
Classification: Components
Component: XUL (show other bugs)
: Trunk
: All All
: -- enhancement with 5 votes (vote)
: Future
Assigned To: Nobody; OK to take it and work on it
: Neil Deakin
Depends on:
Blocks: 26029 28348 65508 69976 72349 76110 187887
  Show dependency treegraph
Reported: 2001-01-31 04:47 PST by Matthew Paul Thomas
Modified: 2011-02-14 06:04 PST (History)
10 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Description Matthew Paul Thomas 2001-01-31 04:47:58 PST
XP Toolkit needs six different kinds of window:
(1) popups (not movable, not modal, not closable, not minimizable, not resizable
    by default, no chrome);
(2) document windows (movable, not modal, closable, minimizable, resizable by
    default, ordinary chrome);
(3) dialogs (movable, modal, not closable, not minimizable, not resizable by
    default, ordinary chrome);
(4) alerts (movable, modal, not closable, not minimizable, not resizable by
    default, alert chrome, comes with optional standard overlay for position of
    icon and position/ordering of buttons);
(5) progress windows (movable, not modal, not closable, minimizable, not
    resizable by default, ordinary chrome);
(6) assistant windows (movable, not modal, not closable on Windows, closable on
    other platforms, not minimizable, not resizable by default, ordinary chrome,
    comes with free platform-specific overlay for position of banner and
    position/assortment of buttons).

Currently we appear to have only the first three of these, and the lack of the 
latter three is causing numerous undesirable results in Mozilla's UI.

This bug in particular requests the implementation of (5), the `progress' kind of 
window. Two examples of where this is needed:
*   the download progress window should be minimizable but is not, because it is
    a dialog when it should be a progress window;
*   the `Migrating Profile' progress window should not be closable or resizable
    but is, because it is a document window when it should be a progress window.
Comment 1 Peter Lairo 2001-01-31 05:05:57 PST
Although these are nice general categories that might cover the majority of
situations, wouldn't it be easier to have a separately settable setting and let
the creator of the window decide what setting(s) his window should have?

e.g. "Window that does something":
[] movable
[] modal
[] closable
[] minimizable
[] resizable by default
[] no chrome

This would be far more flexible.
Comment 2 Matthew Paul Thomas 2001-01-31 05:53:39 PST
No, because that would just encourage developers to make mistakes. Mistakes like 
trying to give alerts close boxes when Mac OS (for good reason) doesn't allow 
that (Mozilla has already had a couple of `hang' bugs caused by developers doing 
that). Or like unintentionally locking up a user's computer by making a large 
modal dialog with no chrome (which means no title bar, and no way to get to other 

I've thought a lot about this bug, trust me. :-)
Comment 3 Peter Lairo 2001-01-31 06:09:24 PST
I trust you, baby ;)

I just hope then that your list of *six different kinds of window* is complete.
Comment 4 Deven Corzine 2001-01-31 12:17:37 PST
How about both?  Make the 6 window types, implemented by calling a generic
flexible implementation function.  New window types could then easily be added
(calling the generic function), but only the code for specific window types
should call the generic function.  (Possibly make it private.)  Then if there's
a 7th window type that hasn't come to mind, adding it becomes trivial...
Comment 5 Tim Powell 2001-01-31 12:42:06 PST
I don't see why dialogs and progress windows should be not closable. (I'm not
sure what that means.) I'm assuming you mean that they shouldn't have the close
button (X in top right corner of window)?

On Windows at least, Nav4 and IE5 progress windows (such as download progress)
are closable. Windows dialogs also often have the close button. Windows alerts
also have the close button.

Can you give specific examples of each type? For example, where does the Find
box fit?

I agree that having specific window types will help avoid errors.
Comment 6 timeless 2001-01-31 12:58:41 PST
you're right. they should be closable on windows.
Comment 7 Peter Trudelle 2001-01-31 13:24:00 PST
->danm, for future consideration
Comment 8 Matthew Paul Thomas 2001-01-31 19:12:06 PST
The six types I listed are those which XP Toolkit *needs*; other types -- such 
as windoids, which could be used for floating palettes etc -- fall into the 
`nice to have' category.

Giving a dialog a close button is a bad idea, because it misleads the user into 
thinking that they do not have to make a decision when really they do, so the 
meaning of the close button is ambiguous -- what would a close button mean in 
`Do you want to discard changes? ( Yes ) ( No )'? (The Windows UI guidelines 
describe a close box for dialogs as `optional', probably because Microsoft 
haven't yet removed it from all the dialogs in their own software.) Similarly, 
giving a progress window a close button is a bad idea, because its meaning 
would be ambiguous -- does it cancel the operation in progress, or does it just 
hide the progress of the operation?

Specific examples of each type:
* popups: tooltips, help balloons
* document windows: browser windows, search results
* dialogs: Open Location dialog, Find in This Page dialog
* alerts: error messages, save-before-closing confirmation, cookie alerts
* progress windows: sending mail progress, file download progress
* assistant windows: New Profile Wizard, Account Wizard.
Comment 9 Ryan Massie 2001-01-31 20:59:35 PST
Typically when there is a close button on a progress window, there is only one 
other button on the window, like cancel. I assumed that the close button took 
on the function of the only other option on the window. In fact, I can't think 
of any other function used in this situation other than cancel. Either way, it 
dosen't really matter that much. I do agree that the function of the close 
button becomes ambiguous in a yes/no dialog and it shouldn't be on there. 
Comment 10 timeless 2001-01-31 21:18:56 PST
since Yes and No are hard to understand, Escape and X [close] should always 
allow one to select the cancel event, whichever that is.
Comment 11 Håkan Waara 2001-02-24 16:06:59 PST
There is quite some bugs that are all blocked by this one. And some of those, is
blocking other bugs.. etc.

I think this bug should have a somewhat high priority. Nominating for mozilla1.0
Comment 12 James Ross 2001-04-01 13:52:56 PDT
cc'ing to self as bug blocks other interesting bugs.
Comment 13 Arthur 2001-05-08 00:27:16 PDT
Cc'ing myself. IMO Target Milestone should be mozilla0.9.2 and certainly not 
"future" as it blocks quite a few annoying bugs.
Comment 14 Dean Tessman 2001-05-23 19:50:15 PDT
Didn't the fix for bug 26029, with the "minimizable" window essentially give the 
progress window?
Comment 15 Matthew Paul Thomas 2001-05-26 04:13:12 PDT
No -- see bug 76110 and bug 76122. And unlike dialogs, progress windows should 
not be modal.

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