diff options
author | jamiewalch@chromium.org <jamiewalch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-12 22:08:37 +0000 |
---|---|---|
committer | jamiewalch@chromium.org <jamiewalch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-12 22:08:37 +0000 |
commit | 61b294a17c99ac0872cb3f331e0c604d9c714de7 (patch) | |
tree | 29ff83d8b92aa46155c297628697370ec6d0fdc6 /remoting/webapp | |
parent | b4b9410881182aa6ec54ba742f10c883bb9a1dc0 (diff) | |
download | chromium_src-61b294a17c99ac0872cb3f331e0c604d9c714de7.zip chromium_src-61b294a17c99ac0872cb3f331e0c604d9c714de7.tar.gz chromium_src-61b294a17c99ac0872cb3f331e0c604d9c714de7.tar.bz2 |
Get extension version synchrously from the manifest.
Previously, we were asynchronously reading the manifest at start-up and using
chrome.runtime.getDetails when logging the version string. The latter is more
complicated than it needs to be, and the former doesn't work in Apps v2.
Review URL: https://codereview.chromium.org/12250011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182036 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/webapp')
-rw-r--r-- | remoting/webapp/jscompiler_hacks.js | 4 | ||||
-rw-r--r-- | remoting/webapp/remoting.js | 26 | ||||
-rw-r--r-- | remoting/webapp/server_log_entry.js | 6 |
3 files changed, 16 insertions, 20 deletions
diff --git a/remoting/webapp/jscompiler_hacks.js b/remoting/webapp/jscompiler_hacks.js index 9f16a56..70d984a 100644 --- a/remoting/webapp/jscompiler_hacks.js +++ b/remoting/webapp/jscompiler_hacks.js @@ -110,7 +110,9 @@ chrome.runtime = { lastError: { /** @type {string} */ message: '' - } + }, + /** @return {{version: string}} */ + getManifest: function() {} }; /** @type {Object} */ diff --git a/remoting/webapp/remoting.js b/remoting/webapp/remoting.js index d1ca071..4d3bed1 100644 --- a/remoting/webapp/remoting.js +++ b/remoting/webapp/remoting.js @@ -49,7 +49,7 @@ remoting.init = function() { // (http://crbug.com/ 134213). remoting.initMockStorage(); - remoting.logExtensionInfoAsync_(); + remoting.logExtensionInfo_(); l10n.localize(); // Create global objects. remoting.settings = new remoting.Settings(); @@ -166,24 +166,16 @@ remoting.updateLocalHostState = function() { /** * Log information about the current extension. - * The extension manifest is loaded and parsed to extract this info. + * The extension manifest is parsed to extract this info. */ -remoting.logExtensionInfoAsync_ = function() { - /** @type {XMLHttpRequest} */ - var xhr = new XMLHttpRequest(); - xhr.open('GET', 'manifest.json'); - xhr.onload = function(e) { - var manifest = - /** @type {{name: string, version: string, default_locale: string}} */ - jsonParseSafe(xhr.responseText); - if (manifest) { - var name = chrome.i18n.getMessage('PRODUCT_NAME'); - console.log(name + ' version: ' + manifest.version); - } else { - console.error('Failed to get product version. Corrupt manifest?'); - } +remoting.logExtensionInfo_ = function() { + var manifest = chrome.runtime.getManifest(); + if (manifest && manifest.version) { + var name = chrome.i18n.getMessage('PRODUCT_NAME'); + console.log(name + ' version: ' + manifest.version); + } else { + console.error('Failed to get product version. Corrupt manifest?'); } - xhr.send(null); }; /** diff --git a/remoting/webapp/server_log_entry.js b/remoting/webapp/server_log_entry.js index 18dc6c3..e0b6dc3 100644 --- a/remoting/webapp/server_log_entry.js +++ b/remoting/webapp/server_log_entry.js @@ -451,8 +451,10 @@ remoting.ServerLogEntry.extractChromeVersionFrom = function(s) { * Adds a field specifying the webapp version to this log entry. */ remoting.ServerLogEntry.prototype.addWebappVersionField = function() { - this.set(remoting.ServerLogEntry.KEY_WEBAPP_VERSION_, - chrome.app.getDetails().version); + var manifest = chrome.runtime.getManifest(); + if (manifest && manifest.version) { + this.set(remoting.ServerLogEntry.KEY_WEBAPP_VERSION_, manifest.version); + } }; /** |