diff options
Diffstat (limited to 'addon-sdk/source/examples/toolbar-api/lib/main.js')
-rw-r--r-- | addon-sdk/source/examples/toolbar-api/lib/main.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/addon-sdk/source/examples/toolbar-api/lib/main.js b/addon-sdk/source/examples/toolbar-api/lib/main.js new file mode 100644 index 000000000..a538c8cd6 --- /dev/null +++ b/addon-sdk/source/examples/toolbar-api/lib/main.js @@ -0,0 +1,48 @@ +/* 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/. */ +"use strict"; + +const { Toolbar } = require("sdk/ui/toolbar"); +const { Frame } = require("sdk/ui/frame"); +const { ActionButton } = require("sdk/ui/button/action"); + +var button = new ActionButton({ + id: "button", + label: "send!", + icon: "./favicon.ico", + onClick: () => { + frame.postMessage({ + hello: "content" + }); + } +}); + +var frame = new Frame({ + url: "./index.html", + onAttach: () => { + console.log("frame was attached"); + }, + onReady: () => { + console.log("frame document was loaded"); + }, + onLoad: () => { + console.log("frame load complete"); + }, + onMessage: (event) => { + console.log("got message from frame content", event); + if (event.data === "ping!") + event.source.postMessage("pong!", event.source.origin); + } +}); +var toolbar = new Toolbar({ + items: [frame], + title: "Addon Demo", + hidden: false, + onShow: () => { + console.log("toolbar was shown"); + }, + onHide: () => { + console.log("toolbar was hidden"); + } +}); |