Bug 1820641: Make a test that calls window.restore handle zoomed windows. r=mstange
[gecko.git] / toolkit / actors / TestProcessActorChild.sys.mjs
blobb9631ff9d9d0491ff110564c29bd37ba7fd34cef
1 /* vim: set ts=2 sw=2 sts=2 et tw=80: */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 export class TestProcessActorChild extends JSProcessActorChild {
7   constructor() {
8     super();
9     this.sawActorCreated = false;
10   }
12   actorCreated() {
13     this.sawActorCreated = true;
14   }
16   receiveMessage(aMessage) {
17     switch (aMessage.name) {
18       case "toChild":
19         aMessage.data.toChild = true;
20         this.sendAsyncMessage("toParent", aMessage.data);
21         break;
22       case "asyncAdd":
23         let { a, b } = aMessage.data;
24         return new Promise(resolve => {
25           resolve({ result: a + b });
26         });
27       case "error":
28         return Promise.reject(new SyntaxError(aMessage.data.message));
29       case "exception":
30         return Promise.reject(
31           Components.Exception(aMessage.data.message, aMessage.data.result)
32         );
33       case "done":
34         this.done(aMessage.data);
35         break;
36     }
38     return undefined;
39   }
41   observe(subject, topic, data) {
42     this.lastObserved = { subject, topic, data };
43   }
45   show() {
46     return "TestProcessActorChild";
47   }
49   didDestroy() {
50     Services.obs.notifyObservers(
51       this,
52       "test-js-content-actor-diddestroy",
53       true
54     );
55   }