Closed Bug 542971 Opened 16 years ago Closed 15 years ago

kill/replace nsPluginInstanceTag

Categories

(Core Graveyard :: Plug-ins, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jaas, Assigned: jaas)

References

Details

Attachments

(1 file, 5 obsolete files)

We should kill/replace nsPluginInstanceTag. We don't need it, it adds unnecessary complexity, and it makes our code more error-prone.
Attached patch fix v1.0 (obsolete) — Splinter Review
This makes our code much nicer. The object hierarchy is more clear and it is easier to get from one object to another. We avoid unnecessary null checks and strong references due to a clarified lifetimes dependencies between objects. This also fixes a bug where we store plugin instances in nsAutoPtr objects. They should be stored in nsRefPtr objects. I realize that there is more cleanup to do - this patch makes some of that even more clear. This patch is complex and long enough already, I'll get more stuff later.
Attachment #424199 - Flags: review?(jst)
Attached patch fix v1.1 (obsolete) — Splinter Review
Includes Linux build fix.
Attachment #424199 - Attachment is obsolete: true
Attachment #424199 - Flags: review?(jst)
Attachment #424207 - Flags: review?(jst)
Comment on attachment 424207 [details] [diff] [review] fix v1.1 If you haven't already, you should push this through try and watch for leaks etc. Changes look good.
Attachment #424207 - Flags: review?(jst) → review+
I ran it on the try servers, no problems.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Depends on: 543376
Backed out per bsmedberg's request: http://hg.mozilla.org/mozilla-central/rev/981efc4d2ad2 'hg backout' ended up having merge conflicts, and I don't have a great merge tool, so I used "hg export f61e06c31086 | patch -p1 -R -F10" and then hand-fixed the chunks that patch failed on. It looks like the conflicts were all from bug 543339's patch, "Clean up a bunch of things in nsNPAPIPlugin", which included a number of variable-renamings in code touched by this bug's patch.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Attached patch fix v1.2 (obsolete) — Splinter Review
Updated for current trunk. When this lands again it'll need to land with the patch on bug 543376.
Attachment #424207 - Attachment is obsolete: true
Attached patch fix v1.3 (obsolete) — Splinter Review
Updated to current trunk but has known memory leaks. I have fixes for the leaks but I want to archive this version of the patch here anyway.
Attachment #424915 - Attachment is obsolete: true
Attachment #434172 - Attachment is obsolete: true
Attached patch fix v1.5 (obsolete) — Splinter Review
Blocks: 579516
No longer blocks: 579516
Depends on: 579516
Attached patch fix v1.6Splinter Review
Attachment #457014 - Attachment is obsolete: true
Attachment #458256 - Flags: review?(b56girard)
Attachment #458256 - Flags: review?(b56girard) → review?(jst)
Comment on attachment 458256 [details] [diff] [review] fix v1.6 r=jst As a followup it might be nice to figure out if we could guarantee that there's never a live instance with a plugin that doesn't have valid plugin funcs, so that we wouldn't need to check if the plugin has a library before accessing the plugin funcs etc. But this is a good step forward in and of itself!
Attachment #458256 - Flags: review?(jst) → review+
Status: REOPENED → RESOLVED
Closed: 16 years ago15 years ago
Resolution: --- → FIXED
Blocks: 577985
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: