getVersion() removed. options.js now not including to the page. Manifect fix. New version detect implementation in background.js.

This commit is contained in:
Alexey Skobkin 2015-01-07 23:11:10 +04:00
parent fa5c12539e
commit 1820146431
4 changed files with 37 additions and 29 deletions

View file

@ -40,7 +40,7 @@ function injectJS(tabId, files, onAllInjected) {
// Message listener // Message listener
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) { chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
// @todo Check if sender.tab may be undefined in some cases // @todo Check if sender.tab may be undefined in some cases
console.log('Received message from tab #%i: %O', sender.tab.id, message); console.log('Received message from tab #%s: %O', sender.tab ? sender.tab.id : 'undefined', message);
if (message) { if (message) {
switch (message.type) { switch (message.type) {
@ -74,6 +74,11 @@ chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
return true; return true;
break; break;
case 'getManifestVersion':
sendResponse({version: getVersion()});
return true;
break;
case 'listenNotificationClicks': case 'listenNotificationClicks':
// Adding notification click event listener // Adding notification click event listener
chrome.notifications.onClicked.addListener(function(notificationId) { chrome.notifications.onClicked.addListener(function(notificationId) {
@ -187,6 +192,11 @@ chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) {
// Getting version from manifest.json // Getting version from manifest.json
function getVersion() { function getVersion() {
/**
* @deprecated XMLHttpRequest in the background worker is deprecated
* according to the Chrome warning. But we definitely need synchronous
* AJAX here
*/
var xhr = new XMLHttpRequest(); var xhr = new XMLHttpRequest();
xhr.open('GET', chrome.extension.getURL('manifest.json'), false); xhr.open('GET', chrome.extension.getURL('manifest.json'), false);
xhr.send(null); xhr.send(null);

View file

@ -1,19 +1,3 @@
/**
* Получает версию настроек из манифеста
* @returns {String} Версия настроек
*/
function getVersion() {
var xhr = new XMLHttpRequest(),
manifest;
xhr.open('GET', chrome.extension.getURL('manifest.json'), false);
xhr.send(null);
manifest = JSON.parse(xhr.responseText);
return manifest.version;
}
/** /**
* Объект, управляющий сохранением настроек на странице настроек * Объект, управляющий сохранением настроек на странице настроек
* *
@ -21,14 +5,20 @@ function getVersion() {
* @constructor * @constructor
*/ */
function Options() { function Options() {
this.version = getVersion();
this.form = document.querySelector('form'); this.form = document.querySelector('form');
this.showVersion();
this.restore();
this.form.addEventListener('change', this._onChange.bind(this));
this.listenTabs(); this.listenTabs();
chrome.runtime.sendMessage(null, {
type: 'getManifestVersion'
}, null, function(response) {
this.version = response.version || 'undefined';
this.showVersion();
this.restore();
this.form.addEventListener('change', this._onChange.bind(this));
}.bind(this));
} }
/** /**

View file

@ -5,6 +5,7 @@ chrome.runtime.sendMessage({
console.debug('showPageAction response: %O', response); console.debug('showPageAction response: %O', response);
}); });
// @todo Move OptionsManager to the separate file
/** /**
* Объект для получения опций * Объект для получения опций
* @param {Object} options Хеш настроек * @param {Object} options Хеш настроек
@ -43,10 +44,18 @@ OptionsManager.prototype.getOptions = function() {
return this._options; return this._options;
}; };
var ppVersion;
chrome.runtime.sendMessage(null, {
type: 'getManifestVersion'
}, null, function(response) {
ppVersion = response.version || 'undefined';
});
$(document).ready(function() { $(document).ready(function() {
// Grouping console log // Grouping console log
console.group('point-plus'); console.group('point-plus');
console.info('Point+ %s', getVersion()); console.info('Point+ %s', ppVersion);
// Проверяем, загрузились ли мы // Проверяем, загрузились ли мы
var point_plus_debug = $('#point-plus-debug'); var point_plus_debug = $('#point-plus-debug');
@ -55,8 +64,8 @@ $(document).ready(function() {
return; return;
} }
$('<div id="point-plus-debug">').attr({ $('<div id="point-plus-debug">').attr({
'data-point-plus-version': getVersion() 'data-point-plus-version': ppVersion
}).text('Point+ ' + getVersion() + ' loading...') }).text('Point+ ' + ppVersion + ' loading...')
.insertBefore('#user-menu-cb'); .insertBefore('#user-menu-cb');
// Черновики. Ставим хандлер и восстанавливаем предыдущее состояние // Черновики. Ставим хандлер и восстанавливаем предыдущее состояние

View file

@ -29,10 +29,8 @@
"js": [ "js": [
"vendor/jquery/jquery.min.js", "vendor/jquery/jquery.min.js",
"js/markitup/sets/markdown/set.js",
"js/bquery_ajax.js", "js/bquery_ajax.js",
"js/options.js",
"js/point-plus.js" "js/point-plus.js"
], ],
"css": [ "css": [
@ -57,6 +55,7 @@
"http://player.soundcloud.com/*", "http://player.soundcloud.com/*",
"https://player.soundcloud.com/*", "https://player.soundcloud.com/*",
"https://api.kanaria.ru/point/*", "https://api.kanaria.ru/point/*",
"https://*.twitter.com/*",
"storage", "storage",
"notifications", "notifications",
"tabs" "tabs"