Closed Bug 1383260 Opened 7 years ago Closed 7 years ago

Handler unmarshaling is failing during ObjectFromLResult

Categories

(Core :: Disability Access APIs, enhancement)

Unspecified
Windows
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: bugzilla, Assigned: bugzilla)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

More trouble with JAWS being able to resolve accessibles from emulated windows: When we first unmarshal the handler into the parent process, everything works fine. When the handler is unmarshaled a second time (during ObjectFromLResult as requested from AccessibleObjectFrom*), we fail to unmarshal the payload. Note that the proxy itself unmarshals just fine.
Attached patch Handler (un)marshaling fixes (deleted) — Splinter Review
This patch does a few things: 1) Modifies StripHandlerFromOBJREF to zero out the remaining bytes that make up the difference between the longer OBJREF_HANDLER and the shorter OBJREF_STANDARD; 2) Makes Handler::GetMarshalSizeMax ignore payloads when MOZ_MSCOM_REMARSHAL_NO_HANDLER is defined, since we already ignore the payload in Handler::MarshalInterface; 3) Modifies Handler::Unmarshal interface to make payload unmarshaling be non-fatal with respect to the rest of the handler. As long as the inner proxy still successfully marshaled, we should still succeed.
Attachment #8888964 - Flags: review?(jmathies)
Attachment #8888964 - Flags: review?(jmathies) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/add7f83758561c8d534b47af5e98379b4f2f19dd Bug 1383260: Fix problems with unmarshaling handler-wrapped object when in its original apartment; r=jimm
Blocks: 1383501
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: