mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 10:00:54 +00:00
a71c8e64ff
In order to be able to reasonably debug error results from things like JSWindowActor.sendQuery, we need to be able to clone errors across process boundaries, so that they can be propagated to the caller that initiated a query. The standard for the structured clone algorithm does not allow cloning errors directly, so this patch instead adds a chrome-only wrapper object which supports structured clone writing, and on reading, automatically decodes to the error object it wraps. Callers who wish to clone an Error or Exception object simply need to wrap it in a ClonedErrorHolder before sending. Differential Revision: https://phabricator.services.mozilla.com/D50881 --HG-- extra : moz-landing-system : lando
19 lines
693 B
Plaintext
19 lines
693 B
Plaintext
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/**
|
|
* A stub object to hold an Error, Exception, or DOMException object to be
|
|
* transferred via structured clone. The object will automatically be decoded
|
|
* directly into the type of the error object that it wraps.
|
|
*
|
|
* This is a temporary workaround for lack of native Error and Exception
|
|
* cloning support, and can be removed once bug 1556604 and bug 1561357 are
|
|
* fixed.
|
|
*/
|
|
[ChromeOnly, Exposed=Window]
|
|
interface ClonedErrorHolder {
|
|
[Throws]
|
|
constructor(object aError);
|
|
};
|