Closed Bug 119056 Opened 23 years ago Closed 23 years ago

QuickLaunch: plugins don't get refreshed after browser is restarted

Categories

(Core Graveyard :: Plug-ins, defect, P2)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED DUPLICATE of bug 133282
mozilla1.2alpha

People

(Reporter: shrir, Assigned: peterl-bugs)

References

()

Details

(Whiteboard: [ADT2] [RTM])

Attachments

(2 files, 3 obsolete files)

dunno if this will be quicklaunch or plugins component. I noticed this on 01008 trunk build on win 98. I had quicklaunch running (you can enable it from Edit+Prefs+Advanced menu) steps: Make sure quicklaunch is runnig when u launch the browser( system tray icon 'N') 1 Do not have shockwave files installed in 4.x folder or anywhere. 2 launch 6.x and go to shockwave,click on say "Inklink" or any other game that requires shockwave plugin. 3. Download the shockwave installer when instructed. 4 Launch the installer, current browser windows close and a part of the install completes. When a new browser iwndow is launched, I get a default plugin dialog. Seems like the browser needs to close completely for the new plugin to register. When I tried the same steps without quicklaunch enabled, things worked fine.
The Plugin installations needs a restart. You can also call about:plugins and the plugin directory is rescanned.
true..but not everyone will know this. need to release note when the time comes if we cannot get a solution for this.
Macromedia may need to be evangelized about our Quick Launch mode or we may need to manually do a plugins.refresh when starting up in ql mode.
Actually, I think this is a bug with our Quick Lauch feature. When starting a new browser session while using this feature, the plugins need to be reloaded like they are at startup. Otherwise, newly installed plugins aren't picked up. This could be simple to fix if all what's needed is a call to javascript:navigator.plugins.refresh(1) which forces all running plugins to shut down and the plugin paths to be re-scanned for changes. Changing summary from: [if quicklaunch is running, shockwave installation does not finish and default plugin is seen] and reassinging
Assignee: av → trudelle
Component: Plug-ins → XP Apps
QA Contact: shrir → sairuh
Summary: if quicklaunch is running, shockwave installation does not finish and default plugin is seen → QuickLauch: plugins don't get refreshed after browser is restarted
Peter, can you give a C++ equivalent of that JS snippet? How about advice on the priority/severity of this bug?
You can call nsIPluginManager::ReloadPlugins(1) which will do pretty much the same thing, EXCEPT clean up the DOM navigator.plugins and navigator.mimetypes arrays. I'm don't fully understand all the nits about Quick Lauch so maybe if it destorys the navigator JS object when the last window is gone, it's not an issue. This bug is pretty serious to anyone who expects plugins to be refreshed upon restarting the browser. This could be a user or a plugin vendor's installer.
->blaker, nsbeta1+
Assignee: trudelle → blaker
Blocks: 108795
Keywords: nsbeta1+
When trying to reproduce, "current browser windows" don't close as indicated in step 4...?
I don't really understand this. As far as I can tell, the Shockwave installer makes no attempt to close existing browser windows (and the installation instructions doesn't say it will). I _do_ see this bug in the new window that it opens, but if it doesn't attempt to close all the windows first then I can't see how quicklaunch would play a role. Indeed, I can reproduce this with quicklaunch off...
Summary: QuickLauch: plugins don't get refreshed after browser is restarted → QuickLaunch: plugins don't get refreshed after browser is restarted
What happens if you manually exit the browser (with QuickLauch on) and run the installer? I think their installer launchs the browser if it's set as the default browser for the system. For that matter, any plugin dropped in the plugins folder won't get picked up when the user thinks they have just started the browser.
I tried manually exiting the browser with QL on and running the installer. Upon finishing, the installer opened a new browser window (as expected) and took me to some page at macromedia.com. Shockwave on that page worked fine. I don't think there's a quicklaunch bug here...?
Target Milestone: --- → mozilla0.9.9
Peter, what are your results for that test?
Peter?
Keywords: nsbeta1
i will try it asap...
news: tried this on win98. 'existing browser windows' (including 4.x and 6.x) closed for me...then I actually got a mesage saying " we have detected that u rae running one or more instance...blahhhh". Clse it to continue". I closed netscp6 from the sys tray and things went ok. why did I not see this message the first time..hm. close this?
Thanks for retesting. Well, it's weird, when it installs for me it doesn't make any attempt to close open browser windows it seems. I wonder if it's different for windows XP?
Sorry, I've been working on branch stuff and need to test on a clean system with the installer. I just got it set up but havn't downloaded the installer to try. But I changed the summary of the bug to not about about a particular plugin's installer, but more a general problem. Not all installers popup the browser after installing. Some only do it if we are the default browser, others don't do it at all. For example in this senero where a user exit's the browser while quick lauch is on and installs a plugin. The installer will drop the DLL in the user's plugins folder and then maybe startup the default browser for the system. What happens if IE is the default browser? If it doesn't show the problem, I can create a simplified plugin with testcase. If we are running in QuickLauch, next time the user starts browsing, the plugin will not be enabled as it would on a real browser start. It will not be in the DOM plugin or mime type array. The user will see the default plugin again. Once you visit about:plugins for the first time, however, things will be corrected. I can understand not wanting to scan for plugins with QuickLauch for performance reasons and there are other workarounds, but then it needs to be documented to plugin vendors that restarting the browser with our QuickLaunch feature enabled will not refresh plugins.
Testing on win xp gives me weird results ( exactly as mentioned in the first comment) On XP: (quicklaunch ON, 0204 build set as DEFAULT browser) installed trunk 0204 Had an instance of 4.x running in the background launched trunk build and went to shockwave.com and clicked on 'inklink' 'Download shockwave player' message appeared on the page I clicked on it, saved the installer file now, without closing any browser window, I launched the installer (let the default browser selection 'as-is' [4.x and 0204 trunk]) after completing partially , existing 4.x window closed first, then I actually saw the mssage ' u have one or more instance .." , I clicked OK...but did not close the browser from su=ys tray ...and to my surprise..the installation proceeded...( on w98, I was not allowed to go ahead unless I closed quicklaunch) On xp, the browser started and went to the shockwave page, it again popped up the default plugin dialog. I am lost........
Use this helpful testcase to see what the DOM see's and not any side-effects. Plugin loading also uses this list.
Attachment #67984 - Attachment is obsolete: true
over to quicklaunch component.
Assignee: blaker → law
Component: XP Apps → QuickLaunch (AKA turbo mode)
QA Contact: sairuh → gbush
Resetting target milestone; this didn't get to me in time for mozilla0.9.9.
Target Milestone: mozilla0.9.9 → mozilla1.0
Keywords: nsbeta1
re-assigning 'several bugs at once' to morse@netscape.com.
Assignee: law → morse
ADT2 per ADT/Nav triage.
Whiteboard: [ADT2]
What progress has been made toward fixing this defect? Do we need to reassign it, or get someone else involved to resolve it?
Priority: -- → P2
We need a new owner for this, preferably someone with plugin expertise.
Whiteboard: [ADT2] → [ADT2] [need a new owner]
Here, I'll take it. But one important question for QuickLaunch gurus: Can I register for a notification with QuickLaunch on when the last window is closed or the first one is opened? I need to know when this condition of "running in the background" ends or begins. Thanks.
Assignee: morse → peterl
Component: QuickLaunch (AKA turbo mode) → Plug-ins
The "session-logout" notification (via nsIObserverService) happens when the last window is closed.
pushing this out to 1.2, this one will have to wait until more pressing issues get resolved
Target Milestone: mozilla1.0 → mozilla1.2alpha
Bryner, would you be able to fix this? You obviously know what needs to be done, and Beppe says that PeterL should have time to consult and review it.
No, I don't know how to fix this, exactly. I don't know what needs to be done to reinitialize the list of plugins.
Actually, nevermind, I should have read the comments closer.
Alrighty, a possible plan of action is to add a call to nsIPluginManger::ReloadPlugins(0) inside nsPluginHostImp::Observe when we get the right "session-logout" notification. It would actually probably be better to set a flag at this point and then later when ::LoadPlugins is called, do a Reload instead.
Attached patch patch for testing (obsolete) — Splinter Review
This reloads the plugin list when the last window is closed. It's kind of a toss-up whether we want to do it here or when the first window is opened, but a notification already exists for closing the last window, so this seemed more convenient.
Attached patch better patch (obsolete) — Splinter Review
Took peter's suggestion of setting a flag during session-logout notification.
Attachment #81583 - Attachment is obsolete: true
Comment on attachment 81608 [details] [diff] [review] better patch Looks pretty good, except is |ReloadPlugins| ever being called? The check for |mPluginsLoaded| could possibly be preventing that.
Attachment #81608 - Flags: review+
Attachment #81608 - Flags: review+
Oh, right, I was thinking about that backwards. new patch coming up.
Attached patch final patchSplinter Review
Attachment #81608 - Attachment is obsolete: true
Comment on attachment 81623 [details] [diff] [review] final patch r=av
Attachment #81623 - Flags: review+
Peter, do you think you could take care of getting sr= for this patch, checking it in on the trunk, and requesting branch checkin?
Sure, I'll take it. Thanks for your help!
Status: NEW → ASSIGNED
Keywords: patch, review
Whiteboard: [ADT2] [need a new owner] → [ADT2] [RTM]
Marking this bug as a dup of bug 133282 because that bug made this fix obsolete. In that bug, we will now dynamically call plugins.refresh(0) anytime we "need" to so, for example, plugins will be automatically found after quick launch is used. *** This bug has been marked as a duplicate of 133282 ***
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
verified
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: