diff options
Diffstat (limited to 'apps/system/js/wrapper.js')
-rw-r--r-- | apps/system/js/wrapper.js | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/apps/system/js/wrapper.js b/apps/system/js/wrapper.js deleted file mode 100644 index 160d70b..0000000 --- a/apps/system/js/wrapper.js +++ /dev/null @@ -1,198 +0,0 @@ -/* -*- Mode: js; js-indent-level: 2; indent-tabs-mode: nil -*- */ -/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ - -'use strict'; - -var Launcher = (function() { - function log(str) { - dump(' -+- Launcher -+-: ' + str + '\n'); - } - - function currentAppFrame() { - return WindowManager.getAppFrame(WindowManager.getDisplayedApp()); - } - - - function currentAppIframe() { - return currentAppFrame().firstChild; - } - - var _ = navigator.mozL10n.get; - - var BUTTONBAR_TIMEOUT = 5000; - var BUTTONBAR_INITIAL_OPEN_TIMEOUT = 1500; - - var footer = document.querySelector('#wrapper-footer'); - window.addEventListener('appopen', function onAppOpen(e) { - if ('wrapper' in currentAppFrame().dataset) { - window.addEventListener('mozbrowserlocationchange', onLocationChange); - onLocationChange(); - onDisplayedApplicationChange(); - } - }); - - window.addEventListener('appwillclose', function onAppClose(e) { - if ('wrapper' in currentAppFrame().dataset) { - window.removeEventListener('mozbrowserlocationchange', onLocationChange); - clearTimeout(buttonBarTimeout); - footer.classList.add('closed'); - isButtonBarDisplayed = false; - } - }); - - window.addEventListener('keyboardchange', function onKeyboardChange(e) { - if ('wrapper' in currentAppFrame().dataset) { - if (footer.classList.contains('visible')) { - footer.classList.remove('visible'); - } - } - }); - - window.addEventListener('keyboardhide', function onKeyboardChange(e) { - if ('wrapper' in currentAppFrame().dataset) { - if (!footer.classList.contains('visible')) { - footer.classList.add('visible'); - } - } - }); - - var buttonBarTimeout; - - var isButtonBarDisplayed = false; - function toggleButtonBar(time) { - clearTimeout(buttonBarTimeout); - footer.classList.toggle('closed'); - isButtonBarDisplayed = !isButtonBarDisplayed; - if (isButtonBarDisplayed) { - buttonBarTimeout = setTimeout(toggleButtonBar, time || BUTTONBAR_TIMEOUT); - } - } - - function clearButtonBarTimeout() { - clearTimeout(buttonBarTimeout); - buttonBarTimeout = setTimeout(toggleButtonBar, BUTTONBAR_TIMEOUT); - } - - document.getElementById('handler'). - addEventListener('mousedown', function open() { toggleButtonBar() }); - - document.getElementById('close-button'). - addEventListener('mousedown', function close() { toggleButtonBar() }); - - var reload = document.getElementById('reload-button'); - reload.addEventListener('click', function doReload(evt) { - clearButtonBarTimeout(); - currentAppIframe().reload(true); - }); - - var back = document.getElementById('back-button'); - back.addEventListener('click', function goBack() { - clearButtonBarTimeout(); - currentAppIframe().goBack(); - }); - - var forward = document.getElementById('forward-button'); - forward.addEventListener('click', function goForward() { - clearButtonBarTimeout(); - currentAppIframe().goForward(); - }); - - function onLocationChange() { - currentAppIframe().getCanGoForward().onsuccess = function forwardSuccess(e) { - if (e.target.result === true) { - delete forward.dataset.disabled; - } else { - forward.dataset.disabled = true; - } - } - - currentAppIframe().getCanGoBack().onsuccess = function backSuccess(e) { - if (e.target.result === true) { - delete back.dataset.disabled; - } else { - back.dataset.disabled = true; - } - } - } - - window.addEventListener('mozbrowserlocationchange', onLocationChange); - - var bookmarkButton = document.getElementById('bookmark-button'); - function onDisplayedApplicationChange() { - toggleButtonBar(BUTTONBAR_INITIAL_OPEN_TIMEOUT); - - var dataset = currentAppIframe().dataset; - if (dataset.originURL || dataset.searchURL) { - delete bookmarkButton.dataset.disabled; - return; - } - - bookmarkButton.dataset.disabled = true; - } - - bookmarkButton.addEventListener('click', function doBookmark(evt) { - if (bookmarkButton.dataset.disabled) - return; - - clearButtonBarTimeout(); - var dataset = currentAppIframe().dataset; - - function selected(value) { - if (!value) - return; - - var name, url; - if (value === 'origin') { - name = dataset.originName; - url = dataset.originURL; - } - - if (value === 'search') { - name = dataset.searchName; - url = dataset.searchURL; - } - - var activity = new MozActivity({ - name: 'save-bookmark', - data: { - type: 'url', - url: url, - name: name, - icon: dataset.icon, - useAsyncPanZoom: dataset.useAsyncPanZoom, - iconable: false - } - }); - - activity.onsuccess = function onsuccess() { - if (value === 'origin') { - delete currentAppIframe().dataset.originURL; - } - - if (value === 'search') { - delete currentAppIframe().dataset.searchURL; - } - - if (!currentAppIframe().dataset.originURL && - !currentAppIframe().dataset.searchURL) { - bookmarkButton.dataset.disabled = true; - } - } - } - - var data = { - title: _('add-to-home-screen'), - options: [] - }; - - if (dataset.originURL) { - data.options.push({ id: 'origin', text: dataset.originName }); - } - - if (dataset.searchURL) { - data.options.push({ id: 'search', text: dataset.searchName }); - } - - ModalDialog.selectOne(data, selected); - }); -}()); |