Closed
Bug 776923
Opened 12 years ago
Closed 12 years ago
Plugin tag management issues in nsPluginHost
Categories
(Core Graveyard :: Plug-ins, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla17
People
(Reporter: gfritzsche, Assigned: gfritzsche)
References
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
6.06 KB,
patch
|
jaas
:
review+
|
Details | Diff | Splinter Review |
Bug 642807 showed problems with the tag management changes in 686335: * different versions of in-process plugins being loaded side-by-side * duplicate plugin tags being created for unmodified plugins when there are changes in the plugin directory
Assignee | ||
Comment 1•12 years ago
|
||
This patch: * avoids creating duplicate tags when reloading plugins * avoids loading different version of the same plugin if it runs in-process * prefers the most recently modified version of a plugin (matters for in-process plugins) Tested Flash pave-over (on Windows) and in- and out-of-process duplicates of the test-plugin (Windows and OS X).
Attachment #645307 -
Flags: review?(joshmoz)
Comment on attachment 645307 [details] [diff] [review] Fix plugin tag management Review of attachment 645307 [details] [diff] [review]: ----------------------------------------------------------------- Thanks for the patch. I don't see any major problems but I'd like to see a final patch. ::: dom/plugins/base/nsPluginHost.cpp @@ +2198,5 @@ > *aPluginsChanged = true; > } > + > + // Don't add duplicate plugins if they are running in-process, > + // otherwise we risk undefined behaviour. Maybe note in this comment what exactly "duplicate" means. @@ +2199,5 @@ > } > + > + // Don't add duplicate plugins if they are running in-process, > + // otherwise we risk undefined behaviour. > + if (!nsNPAPIPlugin::RunPluginOOP(pluginTag)) { This value could theoretically change by the time we instantiate, but I don't think that will be a significant issue. ::: dom/plugins/base/nsPluginTags.cpp @@ +379,5 @@ > return HasFlag(NS_PLUGIN_FLAG_ENABLED) && !HasFlag(NS_PLUGIN_FLAG_BLOCKLISTED); > } > > +bool > +nsPluginTag::Equals(const nsPluginTag *aPluginTag) const Equals is a pretty ambiguous name here. I wouldn't know what it meant without reading the code. Can we rename this to the admittedly more tedious "HasSameNameAndMimes"?
Attachment #645307 -
Flags: review?(joshmoz)
Assignee | ||
Comment 3•12 years ago
|
||
Addressed review comments.
Attachment #645405 -
Flags: review?(joshmoz)
Assignee | ||
Comment 4•12 years ago
|
||
(In reply to Josh Aas (Mozilla Corporation) from comment #2) > @@ +2199,5 @@ > > } > > + > > + // Don't add duplicate plugins if they are running in-process, > > + // otherwise we risk undefined behaviour. > > + if (!nsNPAPIPlugin::RunPluginOOP(pluginTag)) { > > This value could theoretically change by the time we instantiate, but I > don't think that will be a significant issue. Hm, is this a supported scenario that i should look into?
Assignee | ||
Updated•12 years ago
|
Attachment #645307 -
Attachment is obsolete: true
Comment 5•12 years ago
|
||
No, I think you can safely ignore that scenario.
Attachment #645405 -
Flags: review?(joshmoz) → review+
Assignee | ||
Updated•12 years ago
|
Keywords: checkin-needed
Comment 6•12 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/4f8487f92ae1
Flags: in-testsuite-
Keywords: checkin-needed
Comment 7•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/4f8487f92ae1
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Updated•2 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•