Make imgStatusTracker's changes non-imgContainer-specific

RESOLVED DUPLICATE of bug 584841

Status

()

defect
RESOLVED DUPLICATE of bug 584841
9 years ago
9 years ago

People

(Reporter: dholbert, Assigned: dholbert)

Tracking

Trunk
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(4 attachments)

Bug 572520 added some changes that moved towards being imgContainer-specific (the concrete class) & away from imgIContainer (the public interface), in particular in imgRequest and imgRequestProxy.

Filing this bug on using imgIContainer in those places (and extending it to support the necessary API calls).
This first patch just moves the imgStatusTracker.h file to the /public/ directory and exports it, for use by non-ImageLib implementations of imgIContainer (e.g. in bug 276431)

(This change is relevant to this bug here because the next patch will move the method "imgStatusTracker* GetStatusTracker" from imgContainer to imgIContainer)
Assignee: nobody → dholbert
Status: NEW → ASSIGNED
Attachment #462904 - Flags: review?
Attachment #462904 - Flags: review? → review?(joe)
This patch moves GetStatusTracker from imgContainer to the (ImageLib-private bottom section of) imgIContainer.idl.

I tried to preserve the existing behavior of returning an imgStatusTracker& (using "[ref] native imgStatusTracker(imgStatusTracker);"), but that seemed to make the header ignore the [ref] aspect and just return an imgStatusTracker directly.

So, this patch changes GetStatusTracker to return a pointer instead of a reference. (Hence, this patch makes the requisite s/./->/ changes in callers of this method.)
Attachment #462920 - Flags: review?(joe)
Attachment #462922 - Flags: review?(joe)
This patch restores us to having an "nsCOMPtr<imgIContainer> mImage;" in imgRequest and imgRequestProxy.  (instead of a nsRefPtr<imgContainer>)
Attachment #462928 - Flags: review?(joe)
(In reply to comment #2)
> I tried to preserve the existing behavior of returning an imgStatusTracker&
> (using "[ref] native imgStatusTracker(imgStatusTracker);"), but that seemed to
> make the header ignore the [ref] aspect and just return an imgStatusTracker
> directly.
> 
> So, this patch changes GetStatusTracker to return a pointer instead of a
> reference. (Hence, this patch makes the requisite s/./->/ changes in callers of
> this method.)

That feels sort of like a bug in xpidl; I really, really want to avoid this part of the patch if it's at all possible.

Can you take this up with someone who knows xpidl - bsmedberg, maybe?
Bug 584841 should actually address most of what's covered here.
Depends on: 584841
Attachment #462904 - Flags: review?(joe)
Attachment #462920 - Flags: review?(joe)
Attachment #462922 - Flags: review?(joe)
Attachment #462928 - Flags: review?(joe)
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 584841
You need to log in before you can comment on or make changes to this bug.