Closed
Bug 776923
Opened 13 years ago
Closed 13 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•13 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•13 years ago
|
||
Addressed review comments.
Attachment #645405 -
Flags: review?(joshmoz)
Assignee | ||
Comment 4•13 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•13 years ago
|
Attachment #645307 -
Attachment is obsolete: true
Comment 5•13 years ago
|
||
No, I think you can safely ignore that scenario.
Attachment #645405 -
Flags: review?(joshmoz) → review+
Assignee | ||
Updated•13 years ago
|
Keywords: checkin-needed
Comment 6•13 years ago
|
||
Flags: in-testsuite-
Keywords: checkin-needed
Comment 7•13 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•