Bug 1692971 [wpt PR 27638] - WebKit export of https://bugs.webkit.org/show_bug.cgi...
[gecko.git] / toolkit / actors / AutoScrollParent.jsm
blobf5e6b7b8c397dba99fe8e6aa9b564cb255f6c837
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/. */
5 "use strict";
7 var EXPORTED_SYMBOLS = ["AutoScrollParent"];
9 class AutoScrollParent extends JSWindowActorParent {
10   receiveMessage(msg) {
11     let browser = this.manager.browsingContext.top.embedderElement;
12     if (!browser) {
13       return null;
14     }
16     let data = msg.data;
17     switch (msg.name) {
18       case "Autoscroll:Start":
19         return Promise.resolve(browser.startScroll(data));
20       case "Autoscroll:MaybeStartInParent":
21         let parent = this.browsingContext.parent;
22         if (parent) {
23           let actor = parent.currentWindowGlobal.getActor("AutoScroll");
24           actor.sendAsyncMessage("Autoscroll:MaybeStart", data);
25         }
26         break;
27       case "Autoscroll:Cancel":
28         browser.cancelScroll();
29         break;
30     }
31     return null;
32   }