Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(909)

Unified Diff: chrome/browser/resources/gcm_internals.js

Issue 176823009: Show device information in chrome://gcm-internals page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/gcm_internals.js
diff --git a/chrome/browser/resources/gcm_internals.js b/chrome/browser/resources/gcm_internals.js
index be7c447d7ab205168edff8b776cb2551b890da1a..d24110604a2195f7e2aa438677dee6ac11b5e52c 100644
--- a/chrome/browser/resources/gcm_internals.js
+++ b/chrome/browser/resources/gcm_internals.js
@@ -2,16 +2,57 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-cr.define('gcminternals', function() {
+cr.define('gcm_internals', function() {
'use strict';
+ /**
+ * If the info dictionary has property prop, then set the tex content of
+ * element to the value of this property.
+ * @param {!Object} info A dictionary of device infos to be displayed.
+ * @param {string} prop Name of the property.
+ * @param {HTMLElement} element An HTML element.
+ */
+ function setIfExists(info, prop, element) {
+ if (info.hasOwnProperty(prop)) {
+ $(element).textContent = info[prop];
+ }
+ }
+
+ /**
+ * Display device informations.
+ * @param {!Object} info A dictionary of device infos to be displayed.
+ */
+ function displayDeviceInfo(info) {
+ setIfExists(info, 'userProfileExists', 'profile-exists');
+ setIfExists(info, 'profileServiceCreated', 'profile-service-created');
+ setIfExists(info, 'gcmEnabledState', 'gcm-enabled-state');
+ setIfExists(info, 'userSignedIn', 'user-signed-in');
+ setIfExists(info, 'gcmClientCreated', 'gcm-client-created');
+ setIfExists(info, 'gcmClientState', 'gcm-client-state');
+ setIfExists(info, 'gcmClientReady', 'gcm-client-ready');
+ setIfExists(info, 'connectionClientCreated', 'connection-client-created');
+ setIfExists(info, 'connectionState', 'connection-state');
+ }
+
function initialize() {
+ chrome.send('getGcmInternalsInfo');
+ }
+
+ /**
+ * Callback function accepting a dictionary of info items to be displayed.
+ * @param {!Object} infos A dictionary of info items to be displayed.
+ */
+ function setGcmInternalsInfo(infos) {
+ if (infos.hasOwnProperty('deviceInfo')) {
+ displayDeviceInfo(infos.deviceInfo);
+ }
}
// Return an object with all of the exports.
return {
initialize: initialize,
+ setGcmInternalsInfo: setGcmInternalsInfo,
};
});
-document.addEventListener('DOMContentLoaded', gcminternals.initialize);
+document.addEventListener('DOMContentLoaded', gcm_internals.initialize);

Powered by Google App Engine
This is Rietveld 408576698