Open Bug 1287167 Opened 8 years ago Updated 2 years ago

ipc/mscom cleanup

Categories

(Core :: IPC, defect, P3)

Unspecified
Windows
defect

Tracking

()

Tracking Status
firefox50 --- affected

People

(Reporter: bugzilla, Unassigned)

References

(Blocks 1 open bug)

Details

This bug is a holder for any nits that we'd like to clean up in ipc/mscom, but were inconvenient to do so at the time they were surfaced. At the time I had a massive patch queue and it was just too disruptive to make those changes using hg histedit.

One of them is renaming utils.* to Utils.*

The other is deciding where to put DynamicallyLinkedFunctionPtr -- jimm suggested nsWindowsHelpers.

Other nits and suggestions are welcome.
Other suggestions:

* Ability to filter out QI logging (jimm);
* Remove 'Unique' from pointer names in ipc/mscom/Ptr.h. tbsaunde points out that even though we're (ab)using UniquePtr to wrap COM objects with untouchable refcounts, they're still not "Unique", so it's confusing.
Trevor pointed out that:
mParentProxy.reset(parentProxy.Release());

is a bit messy. It would be nice if we could to an assignment operator here that would permit moving from a COMPtrHolder to a COMPtrHolder::COMPtrType
Also:

IAccessible* rawIntercepted = nullptr;
GetPointer(&rawIntercepted);
IAccessibleHolder::COMPtrType iaIntercepted(rawIntercepted);
return IAccessibleHolder(Move(iaIntercepted));

Is too verbose. Let's clean up COMPtrHolder construction so that we can make this cleaner.
- Encapsulation for VARIANTS so that we can easily instantiate one for CHILDID_SELF with less verbosity
(In reply to Aaron Klotz [:aklotz] from comment #4)
> - Encapsulation for VARIANTS so that we can easily instantiate one for
> CHILDID_SELF with less verbosity

This one isn't really necessary: since CHILDID_SELF == 0, one can just do something like:
const VARIANT kVarChildIdSelf = {VT_I4};
Priority: -- → P3
Not working on this right now.
Assignee: aklotz → nobody
Status: ASSIGNED → NEW
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.