Browse Source
Ports cleanup
Ports cleanup
- Remove duplicate platform specific (from src/) and other unnecessary files - Fix and update vapi-*.js files for Safari - Add tools/make-safari.sh - Move js/vapi-appinfo.js to meta/ (so, every vendor specific file will be at the same location)pull/2/head
Deathamns
10 years ago
committed by
gorhill
1 changed files with 0 additions and 131 deletions
@ -1,131 +0,0 @@ |
|||||
// » header
|
|
||||
// could be used for background and other extension pages
|
|
||||
|
|
||||
(function() { |
|
||||
'use strict'; |
|
||||
|
|
||||
self.vAPI = self.vAPI || {}; |
|
||||
|
|
||||
// http://www.w3.org/International/questions/qa-scripts#directions
|
|
||||
var setScriptDirection = function(langugae) { |
|
||||
document.body.setAttribute( |
|
||||
'dir', |
|
||||
~['ar', 'he', 'fa', 'ps', 'ur'].indexOf(langugae) ? 'rtl' : 'ltr' |
|
||||
); |
|
||||
}; |
|
||||
|
|
||||
vAPI.download = function(details) { |
|
||||
if (!details.url) { |
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
var a = document.createElement('a'); |
|
||||
|
|
||||
if ('download' in a) { |
|
||||
a.href = details.url; |
|
||||
a.setAttribute('download', details.filename || ''); |
|
||||
a.dispatchEvent(new MouseEvent('click')); |
|
||||
} |
|
||||
else { |
|
||||
var messager = vAPI.messaging.channel('_download'); |
|
||||
messager.send({ |
|
||||
what: 'gotoURL', |
|
||||
details: { |
|
||||
url: details.url, |
|
||||
index: -1 |
|
||||
} |
|
||||
}); |
|
||||
messager.close(); |
|
||||
} |
|
||||
}; |
|
||||
// «
|
|
||||
|
|
||||
if (self.chrome) { |
|
||||
// » crx
|
|
||||
var chrome = self.chrome; |
|
||||
|
|
||||
vAPI.getURL = function(path) { |
|
||||
return chrome.runtime.getURL(path); |
|
||||
}; |
|
||||
|
|
||||
vAPI.i18n = function(s) { |
|
||||
return chrome.i18n.getMessage(s) || s; |
|
||||
}; |
|
||||
|
|
||||
setScriptDirection(vAPI.i18n('@@ui_locale')); |
|
||||
// «
|
|
||||
} else if (self.safari) { |
|
||||
// » safariextz
|
|
||||
vAPI.getURL = function(path) { |
|
||||
return safari.extension.baseURI + path; |
|
||||
}; |
|
||||
|
|
||||
var xhr = new XMLHttpRequest; |
|
||||
xhr.overrideMimeType('application/json;charset=utf-8'); |
|
||||
xhr.open('GET', './locales.json', false); |
|
||||
xhr.send(); |
|
||||
vAPI.i18nData = JSON.parse(xhr.responseText); |
|
||||
|
|
||||
if (vAPI.i18nData[vAPI.i18n = navigator.language.replace('-', '_')] |
|
||||
|| vAPI.i18nData[vAPI.i18n = vAPI.i18n.slice(0, 2)]) { |
|
||||
vAPI.i18nLocale = vAPI.i18n; |
|
||||
} else { |
|
||||
vAPI.i18nLocale = vAPI.i18nData._; |
|
||||
} |
|
||||
|
|
||||
xhr = new XMLHttpRequest; |
|
||||
xhr.overrideMimeType('application/json;charset=utf-8'); |
|
||||
xhr.open('GET', './_locales/' + vAPI.i18nLocale + '/messages.json', false); |
|
||||
xhr.send(); |
|
||||
vAPI.i18nData = JSON.parse(xhr.responseText); |
|
||||
|
|
||||
for (var i18nKey in vAPI.i18nData) { |
|
||||
vAPI.i18nData[i18nKey] = vAPI.i18nData[i18nKey].message; |
|
||||
} |
|
||||
|
|
||||
vAPI.i18n = function(s) { |
|
||||
return this.i18nData[s] || s; |
|
||||
}; |
|
||||
|
|
||||
setScriptDirection(vAPI.i18nLocale); |
|
||||
|
|
||||
// update popover size to its content
|
|
||||
if (safari.self.identifier === 'popover' && safari.self) { |
|
||||
window.addEventListener('load', function() { |
|
||||
// Initial dimensions are set in Info.plist
|
|
||||
var pWidth = safari.self.width; |
|
||||
var pHeight = safari.self.height; |
|
||||
var upadteTimer = null; |
|
||||
var resizePopover = function() { |
|
||||
if (upadteTimer) { |
|
||||
return; |
|
||||
} |
|
||||
|
|
||||
upadteTimer = setTimeout(function() { |
|
||||
safari.self.width = Math.max(pWidth, document.body.clientWidth); |
|
||||
safari.self.height = Math.max(pHeight, document.body.clientHeight); |
|
||||
upadteTimer = null; |
|
||||
}, 20); |
|
||||
}; |
|
||||
|
|
||||
var mutObs = window.MutationObserver || window.WebkitMutationObserver; |
|
||||
|
|
||||
if (mutObs) { |
|
||||
(new mutObs(resizePopover)).observe(document, { |
|
||||
childList: true, |
|
||||
attributes: true, |
|
||||
characterData: true, |
|
||||
subtree: true |
|
||||
}); |
|
||||
} |
|
||||
else { |
|
||||
// Safari doesn't support DOMAttrModified
|
|
||||
document.addEventListener('DOMSubtreeModified', resizePopover); |
|
||||
} |
|
||||
}); |
|
||||
} |
|
||||
// «
|
|
||||
} |
|
||||
// » footer
|
|
||||
})(); |
|
||||
// «
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue