Closed
Bug 35866
Opened 24 years ago
Closed 16 years ago
Need to show progress/status strings in splash screen
Categories
(Core :: XUL, defect)
Core
XUL
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: sfraser_bugs, Unassigned)
References
Details
(Keywords: helpwanted, platform-parity, polish, Whiteboard: time:.5days)
Attachments
(3 files, 4 obsolete files)
22.18 KB,
patch
|
Details | Diff | Splinter Review | |
11.81 KB,
patch
|
Details | Diff | Splinter Review | |
25.48 KB,
patch
|
Details | Diff | Splinter Review |
Lots of Mac users are reporting that their machines have crashed the first time they run NS 6, because of the extremely long delay on the first startup (when it does autoreg). We need to be able to draw a status string in the splash screen to show progress at this time, and during normal startup.
Comment 1•24 years ago
|
||
What I can do is make xpcom send out messages to an observer (xpcom-init-observer) and (xpcom-autoreg-observer). XPFE can then add itself via the observer service and display the messages. Is that acceptable ? I can work on the xpcom portion of this.
Status: NEW → ASSIGNED
Target Milestone: --- → M16
Comment 3•24 years ago
|
||
It sounds like a reasonable solution. But a progress bar relies on continuous updating, not just a one-time call. It seems reasonable that the init observer would be called once when initialization started, and once when it was finished, and the autoreg could also be called once as it was started, once for each file, and once when finished. I believe that while we are doing it, a shutdown listener should be defined, to handle shutdown-related stuff, again, called once at the start of the shutdown, and once after it is complete. But, it worries me what the state of the system will be when the init and autoreg observers are called back. They cannot expect to rely on any component manager objects because the state of the components will be in flux.
Comment 4•24 years ago
|
||
I am inclined to make this NOT fixed in M16. It introduces new problems if code is called back during startup, when components will be in a flakey state. Going, going...
Reporter | ||
Comment 5•24 years ago
|
||
I think we'll need some code that does not rely on any components having been loaded. So you need some kind of observer mechanism, such that observers can be implemented in platform-specific code (like the splash screen itself). Since so many users reported that Mozilla crashed on startup with PR1, because startup time is so long, I think this is an important beta2 feature. Nominating as dogfood for review by PDT.
Keywords: dogfood
Updated•24 years ago
|
Status: NEW → ASSIGNED
Putting on [nsbeta2+][5/16] radar. This is a feature MUST complete work by 05/16 or we may pull this feature for PR2.
Keywords: nsbeta2
Whiteboard: [nsbeta2+][5/16][dogfood-]
Comment 7•24 years ago
|
||
We have a problem of how to register observers before xpcom is started since the observer service would not be available. Even a startup observer would be possible (as long as it would only called after startup is complete) and help solve problems, allowing additional observers to be registered, if we could just solve how a startup observer is registered before xpcom starts. It is not clear how to do this without implementing a different observer mechanism. I suspect there are more requirements lurking under the surface. I believe that given the short time available, we do not have time to work these issues out right now. As such, I intend to supply only an autoregistration observer, and to require the registration of that observer after xpcom has been initialized. Is this still useful?
Comment 8•24 years ago
|
||
I am trying to decide what to pass to an autoregistration observer. I have ruled out a total count, because given the logic to determine which components need to be registered across various loaders, it does not seem to be a number that can be inexpensively derived. Passing the filename of the component being autoregistered also is difficult. This is because while the Notify API prescribes Unicode strings, it is likely that the character mapping components themselves have not been loaded, and hence only native / binary versions of the file name is available. We could cast native bytes into native words and pass them as though they were Unicode, allowing the recipient to cast them back. But is the better alternative to choose some other mechanism than the established observer mechanism? Or is a simple set of callbacks with no information at all about the actual progress or current component acceptable?
Reporter | ||
Comment 9•24 years ago
|
||
Oh what a can of worms this is turning out to be. 1. Registering observers before the XPCOM observer service is available: To be able to do this without depending on XPCOM, you'll just have to use regular C++ classes. I guess we'd need something like an nsStartupProgressBroadcaster in XPCOM, with which clients can register. You could have observers of this broadcaster implement an interface (which may or may not be XPCOM), but of course no-one should be forced to use the service manager to get to it. That means they will have to link with XPCOM and address the nsStartupProgressBroadcaster directly. Linkage with XPCOM probably already happens everywhere we need this. 2. Tough. For now, I think we should just pass around char*s and have the autoreg broadcaster send through the file name. Other strings will come from platform- specific resources, so will use the standard OS encoding.
Comment 10•24 years ago
|
||
I added support for an AutoRegistration observer, which receives events when autoregistration starts/stops as well as when native or js components register or unregister. You register for this the same way you register for th4e shutdown observer. It must occur after initialization of xpcom, since the service manager is required to get the ObservationService, which is required to register an observer for notifications. You just need to get the ObserverService, and call AddObserver, with a topic described by the macro NS_XPCOM_AUTOREGISTRATION_OBSERVER_ID defined in nsIServiceManager.h.
Updated•24 years ago
|
Assignee: rayw → sfraser
Status: ASSIGNED → NEW
Comment 11•24 years ago
|
||
Reassigning to sfraser, so he can do or get people to do the GUI parts.
Reporter | ||
Comment 13•24 years ago
|
||
This is limping along on mac -- the splash screen shows progress for autoreg, but not much else. Bill -- we need to keep the splash screen around until just before the first window comes up, so that we can show progress for reading prefs, bookmarks etc. Currently, it goes away before the profile picker. In 4.x, the profile picker just comes up on top of the splash screen. Reassigning to law to fix Windows, and make the splash screen persist for longer.
Assignee: sfraser → law
Status: ASSIGNED → NEW
Comment 15•24 years ago
|
||
Putting on [nsbeta2-] radar. Removing [5/16]. Missed the Netscape 6 feature train. Please set to MFuture.
Whiteboard: [nsbeta2+][5/16][dogfood-] → [nsbeta2-]
Comment 16•24 years ago
|
||
Putting on [dogfood-] radar since [nsbeta2+] already indicated.
Whiteboard: [nsbeta2-] → [nsbeta2-][dogfood-]
Comment 17•24 years ago
|
||
Actually - Putting on [dogfood-] radar since [nsbeta2-] already indicated.
Comment 18•24 years ago
|
||
*** Bug 42338 has been marked as a duplicate of this bug. ***
Comment 19•24 years ago
|
||
adding myself to cc list
Comment 20•24 years ago
|
||
update: on mac with a 200071709 build, the splash screen comes up and only displays progress for autoreg like sfraser said. on Windows with 2000072109 build, I get a brief splash screen - no progress info and it disappears when the profile manager appears. On Linux I get no splash screen whatsoever.
Comment 21•24 years ago
|
||
nav triage team: nsbeta3-,editing summary and OS to Windows since bug has evolved to Win only. Start up is fast enough on Win so we can live without the progress bar. If you like, you can open a new bug if you like for Mac
OS: Mac System 8.5 → Windows 98
Summary: Need to show progress/status strings in splash screen → Windows: Need to show progress/status strings in splash screen
Whiteboard: [nsbeta2-][dogfood-] → [nsbeta2-][dogfood-][nsbeta3-]
Comment 22•24 years ago
|
||
Adding nsbeta3 keyword to bugs which already have nsbeta3 status markings so the queries don't get all screwed up.
Keywords: nsbeta3
Comment 24•24 years ago
|
||
I have code for this (have had, for quite some time). But the bitmap in the Netscape commercial build doesn't have room for any text. Was the Mac .pict file modified to make room. I have remarked on this elsewhere (the bug calling for new splash screens for each PR release) but it's still a problem.
Comment 25•24 years ago
|
||
This bug's been dormant for a long time and it still feels like Mozilla hangs at start up because nothing happens with the splash screen on Windows. Can we get this checked in? What size/format does the image need to be?
Reporter | ||
Comment 26•24 years ago
|
||
nsNativeAppSupportWin needs to implement nsIObserver, and update its progress string in the Observe call. See nsNativeAppSupportMac.cpp for an example. The text needs to be a native window or dialog text item (not just an image), and should draw over the lower portion of the image.
Comment 27•24 years ago
|
||
Simon, as I mentioned a while back, I've implemented the code (it's kicking around somewhere still on my machine). The bug never got high enough priority to get into the Mozilla code otherwise known as NS6. There's still the problem that the NS6 splash screen (on Windows) doesn't have any room to overlay this status information. My code overlays the copyright text. None of that is of concern to Mozilla, though. I'll nominate this for nsbeta1 (Mozilla 0.8/0.9) and see what happens. If we screw up the Netscape splash screen, probably somebody will be compelled to fix that splash screen. BTW, how is the text overlaid on the Mac splash screen for NS6? Does the Mac version have a black band across the bottom where the Windows version doesn't?
Reporter | ||
Comment 28•24 years ago
|
||
I carefully aligned the text to fit under the NS6 copyright. I think I had to move the contents of the splash image up slightly to make room for it.
Comment 29•24 years ago
|
||
Comment 30•24 years ago
|
||
+mailIcon ICON "mail.ico" looks out of place. can we try and get this onto the branch?
Keywords: mozilla0.8
Comment 31•24 years ago
|
||
Looks like this patch has been slightly mixed up with a patch for bug 57576.
Comment 32•24 years ago
|
||
Yes, the mail icon is residue from another bug fix. What branch are you speaking of? mozilla0.8? I don't think it's that big of deal because you don't see much useful info anyway (basically, "component registration finished" or some such). We should look to maybe add "loading bookmarks" and similar messages. Of course, others argue we should just make those fast...
Updated•24 years ago
|
Keywords: mozilla0.9
Comment 33•24 years ago
|
||
*** Bug 70694 has been marked as a duplicate of this bug. ***
Updated•24 years ago
|
Keywords: mozilla0.8.1
Updated•24 years ago
|
Keywords: mozilla0.8
Comment 34•24 years ago
|
||
Comment 35•23 years ago
|
||
Can we get this patch checked in? Its very weird to have that black space below the splash screen with no status like 4.x Also, does this bug include "loading bookmarks" "initializing plugins" etc. Those are very helpful when you are wondering what's taking mozilla so long. Also, for all those people who think this will slow down mozilla, in fact usability studies have shown that moving objects and changing text make activities "appear" to go faster. (Why do you think M$ put useless animated icons in all of their dialogs?)
Comment 36•23 years ago
|
||
+, mozilla0.9.1 The code is done, we just need to iron out some legalistic/artistic issues with the splash screen graphics.
Comment 37•23 years ago
|
||
as discussed in team meeting, moving all Nav+ team members nsbeta1+ P3 bugs from mozilla0.9.1 to mozilla0.9.2.
Target Milestone: mozilla0.9.1 → mozilla0.9.2
Comment 38•23 years ago
|
||
If the code is done, couldn't it work with the current splash screen that loads in Mozilla (win32) ?
Comment 39•23 years ago
|
||
If the code is done, couldn't it work with the current splash screen that loads in Mozilla (win32) ?
Comment 40•23 years ago
|
||
Yes, although the latest patch probably draws on top of the copyright statement or something. It also doesn't work with at least one other Mozilla vendor's splash screens.
Comment 41•23 years ago
|
||
Currently the splash screen has no copyright statement to my knowlege, and couldn't this feature be turned off for that particular vendor? By the way, shouldn't bug 62209 depend on this bug rather the other way around?
Comment 42•23 years ago
|
||
The code is pretty much done. The patch might have to be rejiggered (it's a bit stale). This will not work with the Netscape splash screen. That splash screen will have to be fixed to work with this code. That shouldn't be hard, though (just need to add black band at the bottom as per the Mac's splash screen).
Whiteboard: time:.5days
Comment 43•23 years ago
|
||
P.S. Anybody should be able to take that patch, fix it up, and check it in. Requires minimal Win32 expertise.
Reporter | ||
Comment 44•23 years ago
|
||
Note that on Mac, the progress text appears in different places, and with a different background color, in Mozilla and Commercial builds.
Comment 45•23 years ago
|
||
I was thinking of handling that by using Win32 resources to specify color and position. We don't have separate Netscape-only code in the Windows executable. But we do have separate resources (for the splash screen and a couple of other things) so we could add new ones for those values. How is that controlled on the Mac?
Comment 46•23 years ago
|
||
nav triage: this is not an rtm stopper, its nice to have. moving to m0.9.3. anyone who has the cycles to take and fix this, help would be very welcome.
Target Milestone: mozilla0.9.2 → mozilla0.9.3
Comment 48•23 years ago
|
||
Comment 49•23 years ago
|
||
I read through this bug, it seems to be covering a couple things: * Keeping the splash screen up even during the profile manager * Adding strings for all the aspects of startup ("Importing Bookmarks", etc.) * Adding the ability for Windows to display strings in the splash screen This slightly modified patch only accomplishes the last item (so it only has the registration progress info). Is it worth getting that in before tree closure?
Reporter | ||
Comment 50•23 years ago
|
||
* Keeping the splash screen up even during the profile manager * Adding strings for all the aspects of startup ("Importing Bookmarks", etc.) We need a new XP bug for these items. Mac needs them too.
Comment 51•23 years ago
|
||
Okay, so I guess I'll go ahead and get this in (it can't hurt, although the feedback it provides is only marginally more useful). r/sr, anyone?
Comment 52•23 years ago
|
||
Simon, sr?
Updated•23 years ago
|
Status: NEW → ASSIGNED
Reporter | ||
Comment 53•23 years ago
|
||
Comments: Can you macroize the QI, AddRef, Release etc. in nsNativeAppSupportBase.cpp and nsNativeAppSupportWin.cpp. In nsNativeAppSupportWin.cpp, you're hard-coding the text position in the dialog. This is bad, because the text needs to be in a different position for Mozilla and Netscape builds (and we don't want to have to fork the code for this). On Mac, we use resources to position the text. Can you do the same for Windows?
Comment 54•23 years ago
|
||
Macroize how (what QI?)? Sure, I'll see if the position can be configurable from resource files...
Reporter | ||
Comment 55•23 years ago
|
||
It looks like the patch touches AddRef/QueryInterface methods that are written long-hand. You could change these to use NS_IMPL_ISUPPORTS2 or whatever.
Updated•23 years ago
|
Target Milestone: mozilla0.9.3 → mozilla0.9.4
Updated•23 years ago
|
Target Milestone: mozilla0.9.4 → mozilla0.9.5
Comment 56•23 years ago
|
||
Mass moving lower-priority bugs to 0.9.6 (with Blake's pre-consent) to make room for remaining 0.9.4/eMojo bugs and MachV planning, performance and feature work. If anyone disagrees with the new target, please let me know.
Target Milestone: mozilla0.9.5 → mozilla0.9.6
Updated•23 years ago
|
Target Milestone: mozilla0.9.6 → mozilla1.0
Comment 57•23 years ago
|
||
*** Bug 105792 has been marked as a duplicate of this bug. ***
Comment 58•23 years ago
|
||
ping, ping. blake: how goes this?
Updated•23 years ago
|
Target Milestone: mozilla1.0 → mozilla0.9.9
Comment 59•23 years ago
|
||
I've updated this patch and have added a few new features: 1. It now gets the parameters for where to draw the text (and in which color) from resources defined in splash.rc. This means we can customize this now for the splash screen used in the Netscape commercial builds. 2. I've modified the splash screen logic so that it opens another splash screen after the profile manager window goes away. That's because much more time elapses after that window is dismissed than before it appears. 3. I've added a new nsIObserverService topic so that the status text can be updated from anywhere. As an example, I put "Opening chrome://navigator/content/navigator.xul..." on the splash screen while the nav window is loading. Some of this breaks the Mac, since the Mac doesn't implement nsINativeAppSupport (only nsISplashScreen). It should be very easy to enable this for the Mac (we can use nsNativeAppSupportBase, which will use the existing nsISplashScreen implementation to implement the splash screen methods). This code needs some additional cleanup to make the "Opening <chrome-url>..." message localizable. Also, we might want to sprinkle other splash screen text updates elsewhere in nsAppRunner.cpp. There's some lengthy spots where no useful text displays.
Attachment #24719 -
Attachment is obsolete: true
Attachment #27304 -
Attachment is obsolete: true
Attachment #39221 -
Attachment is obsolete: true
Comment 60•23 years ago
|
||
-> law
Assignee: blakeross → law
Status: ASSIGNED → NEW
Priority: P3 → --
Target Milestone: mozilla0.9.9 → ---
Comment 61•23 years ago
|
||
*** Bug 119652 has been marked as a duplicate of this bug. ***
Reporter | ||
Comment 62•23 years ago
|
||
Comment 63•23 years ago
|
||
I'm not sure how badly we really want/need this; setting target milestone.
Target Milestone: --- → mozilla1.0
Reporter | ||
Comment 64•23 years ago
|
||
I have a 0.9.9 bug that is blocked by this, bug 66898. So would like it in 0.9.9, as we discussed.
Blocks: 66898
Updated•23 years ago
|
Updated•23 years ago
|
Keywords: mozilla0.9.9
Comment 65•23 years ago
|
||
Moving Netscape owned 0.9.9 and 1.0 bugs that don't have an nsbeta1, nsbeta1+, topembed, topembed+, Mozilla0.9.9+ or Mozilla1.0+ keyword. Please send any questions or feedback about this to adt@netscape.com. You can search for "Moving bugs not scheduled for a project" to quickly delete this bugmail.
Target Milestone: mozilla1.0 → mozilla1.2
Comment 66•22 years ago
|
||
*** Bug 129596 has been marked as a duplicate of this bug. ***
Comment 67•22 years ago
|
||
nomination love. 99 is over, nominating for 1.0 and machv.
Target Milestone: mozilla1.2 → ---
Comment 68•22 years ago
|
||
nsbeta1- per Nav triage team, ->1.2
Comment 69•22 years ago
|
||
Come on guys, do *something* with this before 1.0! At least put a "Loading..." message up. As it is, the black bar across the bottom of the splash screen makes it appear to be a corrupt image-file.
Comment 70•22 years ago
|
||
*** Bug 134536 has been marked as a duplicate of this bug. ***
Comment 71•22 years ago
|
||
*** Bug 179070 has been marked as a duplicate of this bug. ***
Comment 72•22 years ago
|
||
*** Bug 182415 has been marked as a duplicate of this bug. ***
Comment 73•22 years ago
|
||
What's the current status/progress for this bug?
Comment 74•22 years ago
|
||
What about Linux?
Comment 75•22 years ago
|
||
*** Bug 184366 has been marked as a duplicate of this bug. ***
Updated•21 years ago
|
Flags: blocking1.4b?
Comment 76•21 years ago
|
||
pepperxn: why do you think this bug should block the release of Mozilla 1.4b??? Do you think it makes much sense to hold it for a bug with no real for more than a year? And a bug many Mozilla releases had and still were a success? I just saw that 15 of the currently 72 'blocking1.4b?' requests were issued by you! Unfortunately this one is not the only one of those 15 where I doubt the need to block 1.4b for: Bug 193309 (filed by you without specific component and explanation) Bug 77104 (minor and not very important imo) Both (and possibly more, along with this bug) make me wonder if you overestimate your evaluation skills or just misuse the 'blocking1.4a' flag when you do more than 20% of the requests. This flag is definitely not meant as a way to try forcing people to fix bugs you'd like to see fixed.
Comment 77•21 years ago
|
||
Until there is a patch for this has reviews, its not important enough to block 1.4b. We are not going to stall the release of a beta so that someone can come and spend the 5 full days or so it takes to fix this. I understand you think its important, and it is... But there are much more important things to contend with in the eyes of developers -- security issues, etc. Let's not waste drivers' time, use discernment with the flags. Resetting out of date milestone. Adding keywords: "polish, helpwanted" removing "mozilla1.0 and nsbeta1-" Changing OS to all since this is an issue on Linux too if you use "Mozilla -splash"
Flags: blocking1.4b? → blocking1.4b-
OS: Windows 98 → All
Summary: Windows: Need to show progress/status strings in splash screen → Need to show progress/status strings in splash screen
Target Milestone: mozilla1.2alpha → ---
Comment 78•21 years ago
|
||
This patch is from timeless. The only thing I changed is the position of the text on the splash screen. Now there's just one problem with this regarding autoreg. Currently the splash screen can't be shown before xpcom init is done, so it's displayed too late to be able to tell what's happening with autoreg.
Comment 79•21 years ago
|
||
Comment on attachment 121209 [details] [diff] [review] Patch to make status updates work on Windows i'll correct 'obserer' with this basic status landed it will be easier to make further improvements
Attachment #121209 -
Flags: superreview?(roc+moz)
Attachment #121209 -
Flags: review?
Comment 80•21 years ago
|
||
Comment on attachment 121209 [details] [diff] [review] Patch to make status updates work on Windows The splash screen won't go away when it has been displayed again after choosing a profile in Profile Manager.
Attachment #121209 -
Flags: superreview?(roc+moz)
Attachment #121209 -
Flags: review?
Attachment #121209 -
Flags: review-
Comment 81•21 years ago
|
||
Cleaned up and fixed patch to make it work on Windows. This is now able to show some basic status information and the splash screen is correctly hidden when a real window opens.
Updated•21 years ago
|
Attachment #121209 -
Attachment is obsolete: true
Updated•21 years ago
|
Flags: blocking1.4?
Comment 82•21 years ago
|
||
All this said and done, I'll repeat my concerns. I'm not sure if this is the best way to do it. Now we rely on observers which need xpcom which isn't available soon enough to be really useful.
Updated•21 years ago
|
Flags: blocking1.4? → blocking1.4-
Comment 83•20 years ago
|
||
With a year and a half having gone by, and Firefox not even having a splash, should this maybe move to WONTFIX and be done with it?
Comment 84•20 years ago
|
||
And if Seamonkey started up nearly as fast as Firefox, that's something that could be done.
Comment 85•20 years ago
|
||
In other words, this is a Seamonkey bug. Bill Law is inactive in the project (afaik). Reassigning.
Assignee: law → jag
QA Contact: bugzilla → jrgmorrison
Updated•16 years ago
|
Assignee: jag → nobody
Comment 86•16 years ago
|
||
The splash screen isn't supported at all any more on the "new toolkit" platform that all Mozilla apps are using now, so we can't fix this.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•