Closed Bug 1383260 Opened 3 years ago Closed 3 years ago
Handler unmarshaling is failing during Object
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.
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)
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
You need to log in before you can comment on or make changes to this bug.