mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
983d9c226d
--HG-- extra : transplant_source : c%29h%B5%89%27%F3S%C0%B6%CB%82%A27%3C%0D%AEL%14V
75 lines
2.8 KiB
JavaScript
75 lines
2.8 KiB
JavaScript
/* 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/. */
|
|
|
|
let testPort, sidebarPort;
|
|
|
|
onconnect = function(e) {
|
|
let port = e.ports[0];
|
|
port.onmessage = function onMessage(event) {
|
|
let topic = event.data.topic;
|
|
switch (topic) {
|
|
case "test-init":
|
|
testPort = port;
|
|
break;
|
|
case "sidebar-message":
|
|
sidebarPort = port;
|
|
if (testPort && event.data.result == "ok")
|
|
testPort.postMessage({topic:"got-sidebar-message"});
|
|
break;
|
|
case "service-window-message":
|
|
testPort.postMessage({topic:"got-service-window-message"});
|
|
break;
|
|
case "service-window-closed-message":
|
|
testPort.postMessage({topic:"got-service-window-closed-message"});
|
|
break;
|
|
case "test-service-window":
|
|
sidebarPort.postMessage({topic:"test-service-window"});
|
|
break;
|
|
case "test-service-window-twice":
|
|
sidebarPort.postMessage({topic:"test-service-window-twice"});
|
|
break;
|
|
case "test-service-window-twice-result":
|
|
testPort.postMessage({topic: "test-service-window-twice-result", result: event.data.result })
|
|
break;
|
|
case "test-close-service-window":
|
|
sidebarPort.postMessage({topic:"test-close-service-window"});
|
|
break;
|
|
case "panel-message":
|
|
if (testPort && event.data.result == "ok")
|
|
testPort.postMessage({topic:"got-panel-message"});
|
|
break;
|
|
case "test-chatbox-open":
|
|
sidebarPort.postMessage({topic:"test-chatbox-open"});
|
|
break;
|
|
case "chatbox-message":
|
|
testPort.postMessage({topic:"got-chatbox-message", result: event.data.result});
|
|
break;
|
|
case "chatbox-visibility":
|
|
testPort.postMessage({topic:"got-chatbox-visibility", result: event.data.result});
|
|
break;
|
|
case "social.initialize":
|
|
// This is the workerAPI port, respond and set up a notification icon.
|
|
port.postMessage({topic: "social.initialize-response"});
|
|
let profile = {
|
|
userName: "foo"
|
|
};
|
|
port.postMessage({topic: "social.user-profile", data: profile});
|
|
let icon = {
|
|
name: "testIcon",
|
|
iconURL: "chrome://branding/content/icon48.png",
|
|
contentPanel: "https://example.com/browser/browser/base/content/test/social_panel.html",
|
|
counter: 1
|
|
};
|
|
port.postMessage({topic: "social.ambient-notification", data: icon});
|
|
break;
|
|
case "test-isVisible":
|
|
sidebarPort.postMessage({topic: "test-isVisible"});
|
|
break;
|
|
case "test-isVisible-response":
|
|
testPort.postMessage({topic: "got-isVisible-response", result: event.data.result});
|
|
break;
|
|
}
|
|
}
|
|
}
|