diff options
Diffstat (limited to 'src/console/console-frame.js')
-rw-r--r-- | src/console/console-frame.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/console/console-frame.js b/src/console/console-frame.js new file mode 100644 index 0000000..aabb96a --- /dev/null +++ b/src/console/console-frame.js @@ -0,0 +1,44 @@ +import './console-frame.scss'; +import * as messages from '../shared/messages'; + +export default class ConsoleFrame { + constructor(win) { + let element = window.document.createElement('iframe'); + element.src = browser.runtime.getURL('build/console.html'); + element.className = 'vimvixen-console-frame'; + win.document.body.append(element); + + this.element = element; + + this.hide(); + } + + showCommand(text) { + this.showFrame(); + + let message = { + type: 'vimvixen.console.show.command', + text: text + }; + messages.send(this.element.contentWindow, message); + } + + showError(text) { + this.showFrame(); + + let message = { + type: 'vimvixen.console.show.error', + text: text + }; + messages.send(this.element.contentWindow, message); + } + + showFrame() { + this.element.style.display = 'block'; + } + + hide() { + this.element.style.display = 'none'; + this.element.blur(); + } +} |